Conference Program

Please note:
On this page you will only see the English-language presentations of the conference. You can find all conference sessions, including the German speaking ones, here.

The times given in the conference program of OOP 2024 correspond to Central European Time (CET).

By clicking on "VORTRAG MERKEN" within the lecture descriptions you can arrange your own schedule. You can view your schedule at any time using the icon in the upper right corner.

Was ist Event-Sourcing und wie steht es in Bezug zu CQRS und Event-Driven Architekturen?

Mit der zunehmenden Popularität von Event-Sourcing, CQRS und EDA gibt es eine Menge Verwirrung zwischen diesen orthogonalen Konzepten.
Wir werden uns zunächst jedes dieser Konzepte einzeln ansehen und untersuchen, wie sie zusammen verwendet werden können.
Danach werden wir in einem praktischen Teil einige verschiedene Implementierungsmuster für Event-Sourced Aggregates kennenlernen. Die Teilnehmer werden verschiedene Versionen desselben Aggregate in Form von "Code Koans" implementieren.

Laptop wird benötigt. Eine Entwicklungsumgebung sollte installiert sein (z.B. Code Snippets (Githup-Repositories) in den Sprachen Java, Kotlin, C# und PHP)

Zielpublikum: Entwickler:innen, Architekt:innen
Voraussetzungen: Basis-Wissen DDD: was ist ein Aggregate, Entity, Value Object, Command, Domain Event
Schwierigkeitsgrad: Anfänger

Extended Abstract:
Mit der zunehmenden Popularität von Event-Sourcing, CQRS und EDA gibt es eine Menge Verwirrung zwischen diesen orthogonalen Konzepten, die sehr nützlich sind, aber sauber getrennt werden sollten.

1) Wir werden uns zunächst jedes dieser Konzepte einzeln ansehen und untersuchen, wie sie zusammen verwendet werden können.

2) Danach werden wir in einem praktischen Teil einige verschiedene Implementierungsmuster für Event-Sourced Aggregates kennenlernen. Die Teilnehmer werden verschiedene Versionen desselben Aggregate in Form von "Code Koans" implementieren. Für jede Variante wird es Testfälle und ein Skelett geben, das mit dem fehlenden Code gefüllt werden muss, damit die Tests grün sind.

Was es zu entdecken gibt:

  • Verschiedene Arten der Implementierung eines Aggregate
  • Wie ein konzeptionelles Aggregate implementiert werden kann, ohne ein großes "Objekt" zu haben
  • Die Grundlagen des Event-Sourcing
  • Eine leichte Form der Ensemble- (Mob-) Programming oder Pair Programming
  • Die Idee der "Code Koans"

Wir stellen Git-Repositories zur Verfügung, die Java-, Kotlin- und C#-Code enthalten:
https://github.com/MaibornWolff/aggregate-implementation-patterns-java
https://github.com/klimisa/aggregate-implementation-patterns-csharp
https://github.com/MaibornWolff/aggregate-implementation-patterns-kotlin
Die Teilnehmer benötigen einen Laptop mit einer IDE, die für eine der genannten Sprachen geeignet ist.
Idealerweise ziehen sie das Repo vor dem Workshop und installieren die Dependencies, so dass sie die Unit-Tests ausführen können!

3) Schließlich werden wir in den Q-Teil von CQRS eintauchen, indem wir mindestens eine "Projection" für eine Abfrage/ein Lesemodell/eine Ansicht implementieren, wobei es den Teilnehmern freisteht, ihre eigenen Ideen für ein interessantes Lesemodell einzubringen, das sie erstellen möchten.

4) Zeit für weitere Fragen und Antworten

Anton Stöckl arbeitet bei der MaibornWolff GmbH als Learning Designer in der internen Weiterbildung. Sein besonderes Interesse gilt dem Domain-Driven Design und dem Aufbau solider und lose gekoppelter Microservice-Architekturen.

Dagmar de Haan ist freiberufliche Software-Architektin und Entwicklerin. Ihr Schwerpunkt liegt in der Konzeption und Entwicklung von Backend-Systemen im Java-Umfeld.

Anton Stöckl, Dagmar de Haan
10:00 - 13:00
Vortrag: Mo 8

Vortrag Teilen