A core system is an essential central application that runs primary business processes. Larger organizations often rely on decades-old monoliths backed by central databases, making them indispensable but difficult to adapt. section 18.2
A banking or inventory scenario
A bank should not expose its core banking system directly to a mobile app because demand could overwhelm it. An online shop may face the same constraint with an SAP inventory system. New services can consume liberated data while the core system continues handling essential processes. section 18.2
Kafka provides an asynchronous path between the core system and agile services. Debezium can read the database commit log and publish changes through change data capture, minimizing direct interaction and avoiding costly custom integrations. section 18.2
Design the integration around these constraints:
- Avoid reusing normalized, versioned database structures directly, because their format is difficult for other teams to understand. section 18.2
- Create new data structures for downstream applications rather than distributing raw core-system data. section 18.2
- Keep core processes in the core system while using Kafka to exchange data close to real time without overloading it. section 18.2
