Unlike Greenfield development where everything is new, shiney and smells like cheese sticks most developers must integrate with existing systems, aptly named, brownfield development. Event streaming can be complex enough when starting from scratch; throw in a mainframe, existing synchronous workflows, legacy databases and an assortment of EBCDIC and it can seem impossible. Using Kafka Streams as our library of choice we will discuss patterns that enable successful integration with the solid systems from our storied past, including:
Translating synchronous workflows to async using completion criteria and the routing slip pattern
Getting Ghosted: Detecting missing responses from external systems with the Absence of an Event and Thou Shall Not Pass patterns
Change Data Capture, the Outbox Pattern, Derivative Events and transaction pitfalls
Armed with these pragmatic best practices, you will be able to successfully bring eventing into your stack and avoid turning your brownfield…into a minefield.