Als Alternativansatz zu den gängigen Schichtenarchitekturen wird immer häufiger eine hexagonale Architektur mit Command Query Responsibility Segregation (CQRS) und Event Sourcing (ES) verwendet. Die am häufigsten genannten Vorteile sind bessere Möglichkeiten der Skalierung durch Trennung von Schreib- und Lesemodellen und die Möglichkeit, unter der Verwendung der gesamten Änderungshistorie, nachträglich Erweiterungen zu implementieren.

Ein weiterer Vorteil ist, dass die Komplexität für Erweiterungen der Anwendung konstant bleibt, da eine CQRS-basierte Architektur ein festes, einfaches und konstant komplexes Entwicklungspattern bietet. Doch in der Praxis stellt sich oft die Frage, wie fange ich eigentlich an?

Viele professionelle Java-Anwendungen basieren heute auf Spring Boot. Dieses lässt sich wunderbar als Grundlage für eine CQRS/ES-basierte Anwendung mit dem Axon-Framework nutzen. Das Open-Source-Axon-Framework ermöglicht es, mit einem einfachen Programmiermodell CQRS-basierte Anwendungen testgetrieben zu entwickeln.

In unserer Session vermitteln wir die Grundlagen, Vor- und Nachteile von CQRS/ES und zeigen euch anhand praxiserprobter Codebeispiele, wie ihr im Java-Ökosystem mit Spring Boot und Axon hexagonale Architekturen mit CQRS und ES umsetzen könnt.