22.01.2014 Event Sourcing

Active Record ist das unangefochtene Standard-Pattern um Domain-Objekte zu persistieren. Sobald das Domainmodell jedoch an Komplexität zunimmt und Objekte wie Strategies, Visitors etc. ebenfalls in der Datenbank persistiert werden sollen, knarzt und knackt Active Record an allen Ecken und Enden. Die Methode passt nicht richtig zur Domain. 

In Web-Applikationen entwickeln sich so schnell Fat Controllers, die eine Menge Business-Logik beinhalten. Eine schönere Lösung wäre jedoch ein Data Mapping Layer zu verwenden, um ein Datenbank-agnostisches Domainmodell in eine relationale Form zu konvertieren. Das ist aufwendig und fehleranfällig. 

Es geht auch anders! Der Event Sourcing genannte Ansatz eignet sich vor allem für Domains mit komplexen Objekten und vereinfachen durch das einfache Speichern und Erneute Anwenden der durchgeführten Aktionen das Wiederherstellen eines komplexen Objektgraphen aus einer beliebigen Datenbank. 
Mit dem Pattern kommen viele Vorteile wie lückenlose Nachvollziehbarkeit, einfache Debuggbarkeit der Nutzeraktionen, eine einfache Undo-Funktion, gute Performance, Skalierbarkeit und vieles mehr. 

Wir möchten in unserem Vortrag unsere konkrete in der Praxis eingesetzte Implementierung des Patterns vorstellen. 
In diesem Zuge werden die Grundlagen und sinnvollen Einsatzbereiche des Patterns kurz angerissen. Der Hauptteil des Vortrags beschäftigt sich jedoch mit den konkreten Herausforderungen und unseren dazugehörigen Lösungen, die bei der Implementierung des Patterns auftreten.

Benjamin ist seit über 10 Jahren Software Entwickler aus Leidenschaft. Derzeit ist er als CTO für die Vaamo Finanz AG für die ganzheitliche Software Entwicklung und den Betrieb moderner Financial Services verantwortlich. 
Darüber hinaus ist er Initiator der Softwerkskammer Rhein-Main, Mitorganisator der SoCraTes Konferenz und engagiert sich noch für weitere Events und Communities für Entwickler in der Rhein-Main Region, wie den Webmontag Frankfurt und das DevOps Frankfurt Meetup.

Johannes Seitz ist ein Software-Entwickler, der sich für sauberen Code, Domain-Driven Design und die psychologischen Aspekte der Softwareentwicklung begeistert. Er arbeitet seit 2013 als Software-Entwickler und für die Vaamo Finanz AG, wo er treibend an der Einführung des Domain-Getriebenen Vorgehens beteiligt ist. 
Neben dem Beruf unterstützt er bei der Organisation von Community-Events wie dem regionalen Treffen der Software Craftsmanship Group “Softwerkskammer”, der SoCraTes Konferenz und mehreren Coderetreats in der Rhein-Main Region.

Der JUGF-Stammtisch findet am 22.01.2014 ab 18:30 Uhr statt.

Anmelden könnt ihr euch wie immer mit Doodle.


Comments