Event Driven Design

10.05.2019

Mit ereignisgesteuerten Architekturen lassen sich Geschäftsprozesse anschaulich modellieren und effektiv implementieren

Kommunikationsprobleme in der Softwareentwicklung: Der Auftraggeber sitzt mit den ITlern am Tisch und beschreibt in seiner Expertensprache die Aufgabenstellung, redet dabei von Remittende, Hardcover und XY. Währenddessen denkt sich der Softwareentwickler die Datenbankstruktur aus und erläutert wie die API aussehen wird. Am Ende hat jeder das eigene Gesagte verstanden – aber nicht sein Gegenüber.
Das Problem ist die zu technische Denkweise am eigentlichen Geschäftsprozess vorbei.

Event Driven Design stellt hierbei den Geschäftsprozess in den Vordergrund. Dieser wird in einer Event-Storming-Sitzung gemeinsam von den Auftraggebern und den Softwareentwicklern modelliert. Dabei entstehen:
– Ereignisse, welche in der Vergangenheitsform verfasst sind und beschreiben was passiert ist
– Kommandos, dies sind Änderungswünsche an das System und ziehen Events nach sich
– Abfragen, rein lesender Natur

Quelle: Paul Rayner http://yowconference.com.au/slides/yowwest2016/Rayner-EventStorming.pdf
Quelle: Paul Rayner http://yowconference.com.au/slides/yowwest2016/Rayner-EventStorming.pdf

Auf technischer Seite kümmern sich Event Sourcing und CQRS um die Speicherung und die effiziente Darstellung.
Event Sourcing funktioniert ähnlich wie das Konto auf der Bank: Dort wird nicht in einer Zelle der aktuelle Kontostand gespeichert, sondern jede Transaktion einzeln. Möchte man den Kontostand erfahren so muss man nur die Events der Reihe nach abspielen.
CQRS steht für Command Query Responsibility Segregation und sieht eine strikte Trennung zwischen Schreib- und Lese-Operationen vor, verwendet sogar unterschiedliche Datenbank-Technologien. Da in der Praxis häufig mehr gelesen als geschrieben wird, kann man das sogenannte Read Model beliebig skalieren, während man im Write-Model die Datenintegrität beibehält.
Hier muss das Rad nicht neu erfunden werden. Es existieren eine Reihe von Frameworks, welche alles vereinen:
– wolkenkit https://www.wolkenkit.io/
– Axon https://axoniq.io/
– EventFlow https://github.com/eventflow

Wenn man sich einmal auf die Modellierung mit Events eingelassen hat, können sich beide Seiten mehr um das kümmern, was wirklich wichtig ist: der Geschäftsprozess.

Weitere Meldungen

FTEP 2019 – von künstlicher Intelligenz in der Verlagswelt bis zur Praxis

Für unsere diesjährige Fachtagung am 19. September 2019 haben wir wieder interessante Themen für Sie zusammengestellt. Nach dem bewährten Konzept verteilen sich die Vorträge auf zwei Sparten. Diesmal steht das Thema künstliche Intelligenz im Mittelpunkt. Daneben bieten wir Erfahrungsberichte aus der Praxis des Publizierens und strategische Beiträge. Kompetente Referenten beleuchten unterschiedlichste Facetten dieser übergeordneten Themengebiete. Holen Sie sich aus den Vorträgen wertvolle Anregungen für Ihre tägliche Arbeit.

FTEP 2019 – von künstlicher In...