Evolutionäre Microservices mit DDD, CQRS und Axon Framework

Details

Der Microservices Trend hat dem schon in die Jahre gekommenen Thema Domain-Driven-Design (DDD) neue Kraft verliehen. Methoden für die Durchführung von Anforderungsworkshops, strategischem und taktischem Entwurf schießen wie Pilze aus dem Boden. Damit lassen sich sowohl ganze Landschaften entwerfen als auch Vorschläge für Architekturentwurf eines Systems ableiten.
Ein Architekturstill passt besonders gut zu DDD und sollte bei der Implementierung von Event-getriebenen Microservices nicht aus der Acht gelassen: Command Query Responsibility Segregation (CQRS). In Kombination mit Event-Sourcing (ES) als Persistenz-Implementierung können Systeme gebaut werden, die reaktiv, leistungsfähig und einfach zu verändern sind.
Doch was bringen die tollsten Architekturentwürfe, wenn diese nicht in entsprechenden Programmcode überführt werden können und die Implementierungskomplexität die Vorteile der Architektur wettmacht? Zum Glück gibt es zumindest für das Java Ecosystem ein Framework, welches die Implementierung von CQRS/ES Systemen eine solide Grundlage bietet - das Axon Framework.
In diesem Vortrag geben wir eine kurze Einführung in DDD und zeigen an einem durchgehenden Beispiel, wie CQRS/ES-basiertes System mit Hilfe von Axon Framework implementiert werden kann und wie ein System evolutionär von einem Monolith entwickelt werden kann.

Referenten:
Simon Zambrovski ist als Senior Consultant der Holisticon AG in Hamburg, BPM-Craftsman, Full-Stack Entwickler, Coach und Trainer in IT-Projekten unterwegs und beschäftigt sich in der Rolle des Business Analysts und Architekts mit Enterprise-Systemen. Sein aktuelles Interesse gilt der Automatisierung von Geschäftsprozessen, den Event-getriebenen Microservice Landschaften und dem Domain Driven Design. Im Auftrag der Kunden entwickelt er gerne Backends in Java oder Kotlin und ist auch in mehreren Open-Source Projekten involviert.

Jan Galinski ist Senior Consultant bei der Holisticon AG und seit vielen Jahren als Architekt und Entwickler in agilen Kundenprojekten unterwegs. Der Fokus seiner Arbeit liegt auf der Konzeption und Implementierung von event-getriebenen Software-Architekturen sowie der Automatisierung IT-gestützter Geschäftsprozesse. Als Contributor zu zahlreichen Open Source Projekten aus den Bereichen BPM und JEE gibt er seine Erfahrung und Wissen gerne weiter.