An event-driven architecture with CQRS and Event Sourcing

Motivation

Heutige Unternehmens-Softwarelösungen stellen sehr hohe Ansprüche an die Flexibilität und Skalierbarkeit. Um für den Benutzer und das Unternehmen einen echten Mehrwert zu schaffen, müssen ändernde Anforderungen möglichst effizient umgesetzt werden. Die heute praktizierten agilen Methoden versuchen in einem iterativen Prozess damit umzugehen. Diese Methoden stellen aber auch sehr hohe Ansprüche an Design und Architektur der Software. Eric Evans hat mit der Domain Driven Design (DDD) Herangehensweise gezeigt, wie solche Systeme modelliert und umgesetzt werden können. CQRS und Event Sourcing sind Architekturansätze, die sich in Kombination mit DDD sehr gut umsetzen lassen und erhöhen durch den Event-basierten Ansatz die Flexibilität und Skalierbarkeit.

Ziel

Der Student soll im Rahmen seiner Masterarbeit die Vor- und Nachteile in der Flexibilität und Skalierbarkeit einer CQRS und EventSourcing basierten Architektur gegenüber einer klassischen datengetriebenen 3-tier Architektur aufzeigen. Es sollen Guidelines erstellt werden, welche bei der Wahl zwischen einer datengetriebenen Architektur und einer Event-basierten Architektur helfen.

  • Anwendungsszenarien definieren und klassifizieren
  • Implementation einer Beispielapplikation mittels klassischer Architektur
  • Refactoring dieser Applikation hin zu CQRS und EventSourcing
  • Benchmarking

Art der Arbeit

60% Softwareentwicklung, 20% Research, 20% Benchmarking

Voraussetzungen

Software-Architektur

Aufwand

Masterarbeit für 1 Personen