De Volksbank heeft een cache database die data uit de core van het bank systeem bewaard. Dit wordt beschikbaar gesteld aan het backend van de Mijn Omgeving om de performance te verbeteren. Deze synchronisatie gebeurt in batch operaties, hierdoor is de data in de cache database geen real-time representatie van de waarheid. Daarnaast is het synchronisatie mechanisme ook dusdanig complex dat de data in de cache database soms corrupt raakt of data mist.
Om te zorgen dat klanten altijd de meest recente en correcte data zien, zoeken we naar een alternatief voor deze cache database. Naast de cache database, is Apache Kafka ook beschikbaar als databron voor de Mijn Omgeving. Kafka is een event streaming platform om soft-real-time enorme hoeveelheden data te streamen. Een data stream kan natuurlijk niet direct aan klanten gepresenteerd worden, er moet onderzocht worden hoe een data stream gebruikt kan worden om data via een REST API aan klanten te leveren.
De casus voor dit probleem is het berekenen van het saldo op iemands rekening. Hiervoor wordt Change Data Capture (CDC) over transacties uit de core van het bank systeem aangeleverd via Kafka. Vanuit deze transactie events moet het huidige saldo van klanten worden berekend. Het saldo moet dan via een REST API aan de Mijn Omgeving worden gepresenteerd.