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 modelliert der Softwareentwickler die Datenbankstruktur 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: den Geschäftsprozess.

Weitere Meldungen

FTEP 2019 – Unsere Kunden und Partner

Eine Fachtagung im jährlichen Rhythmus zu veranstalten, ist eine große Herausforderung für alle Beteiligten im Unternehmen C.H.Beck. Räume und Zeit und nicht zuletzt finanzielle Mittel gibt uns unsere Geschäftsleitung an die Hand, immer in der Hoffnung, dass sich aus diesen und jenen Aktivitäten konkrete Aufträge und somit Umsätze ergeben.

FTEP 2019 – Unsere Kunden und ...
FTEP 2019 – Informationen à la carte

Nach dem bewährten Konzept der Veranstaltung bietet die FTEP 2019 am 19. September wieder ein abwechslungsreiches Programm, das in drei parallel laufende Tracks aufgeteilt ist. Jeder Besucher kann sich sein individuelles Informationsmenü zusammenstellen. Schauen Sie auf unsere Karte. Es ist sicher auch etwas für Sie dabei!

FTEP 2019 – Informationen à la...