Into and onto (de)coding domain knowledge
For over 15 years I have primarily been involved in implementing complex business processes, e.g. energy trading at E.ON, wind tunnel organization at BMW, or contract management for Telefonica - getting to know the inner workings of many companies. :-) As a coder, I have a soft spot for readable APIs and testable specs and made manifold open source contributions on GitHub. And as a curious domain “decoder”, I am on a first name basis with Domain-Driven Design as well as BPMN, DMN and CMMN. I am also an editorial member of the well-read German software magazine OBJEKTspektrum and write about topics such as Agile, Microservices and the particularly exciting field of “long running” behavior. In my spare time, I organize several meetup groups in my hometown Vienna, Austria.
Let your domain events flow
In this talk we demonstrate the idea of Sagas and process managers to control a flow of domain events across transactional aggregate and context boundaries. We will not just use slides but explore runnable code available on GitHub. We will use lightweight open source frameworks like Spring, Apache Kafka and Camunda. We will answer concrete questions like: How can a process manager be implemented without reinventing the wheel? How does it support complex flow logic requiring timeouts, proper reactions on errors and compensating actions? We will also discuss design questions: How can we anchor the flow logic in the ubiquitous language? How can we make it transparent to domain experts and maintainable for developers? And how can whole end-to-end business processes be modeled in harmony with DDD principles including the bounded context?