Veröffentlicht: von

Dieses Thema kann als Praxisprojekt mit Option auf anschließende Bachelorarbeit bearbeitet werden, oder aber direkt als Bachelorarbeit. Praxisprojekte und/oder Bachelorarbeiten können auch im Verbund mit mehreren Studierenden bearbeitet werden.

Worum geht es?

Microservices ermöglichen eine sehr lose gekoppelte und daher potentiell gut dezentral änderbare Architektur. Konsequent auf eine gesamte IT-Landschaft angewendet, gewinnt man ein hohes Maß an Flexibilität.

Diese Art der losen Kopplung passt zunächst einmal nicht gut auf IT-Landschaften, die von sehr langen, komplexen Prozessen geprägt ist, die sich quer durch die gesamte Landschaft ziehen. Diese Art von Strukturen findet man beispielsweise bei Versicherungen. Ein Schadensprozess läuft durch viele komplexe IT-Systeme (Vertragsmanagement, CRM, Schadensystem, In-/Exkasso, etc.). Daher sind Versicherungs-IT-Landschaften in der Regel von einem klassischen SOA-Ansatz geprägt, bei dem Prozesse zentral in einer Prozess-Engine abgebildet werden und von dort dann die dedizierten IT-Systeme über Service-Schnittstellen aufrufen. Man spricht hier von Orchestrierung des Prozesses, da dieser zentral gesteuert abläuft.

Wie modelliert man so eine IT-Landschaft als Microservices? Ist das überhaupt sinnvoll? Die Frage ist von hoher praktischer Relevanz. Die Standard-Antwort der MS-Community ist das Prinzip der Choreographie, bei dem die einzelnen MS durch passendes Servicedesign den Prozess implizit abbilden, z.B. mit dedizierten Abort-Events.

Zwei einander widersprechende Ansätze sind in den nachfolgenden beiden Blog-Posts (der zweite ist eine Antwort auf den ersten) abgebildet.

Kurz zusammengefasst skizziert der erste Post einen Hybrid-Ansatz, der Microservices und eine SOA-ähnliche Orchestrierung zusammenführt. Der zweite Post skizziert die Entsprechung als reine MS-Choreographie. Beide Posts widersprechen einander. Wer hat Recht? Dazu soll diese Arbeit eine Antwort geben.

Inhalt

Die Arbeit sollte zunächst analysieren, ob man Geschäftsprozesse nach bestimmten Kriterien klassifizieren kann, anhand deren man eine Entscheidung für eins der beiden Paradigmen „Orchestrierung“ vs. „Choreographie“ treffen kann. Ein praktisches Prozessbeispiel sollte definiert werden, das eine gewisse realistische Komplexität simuliert, gern anhand eines Versicherungs-Beispiels.

Dann sollte für die Bewertung ein Kriteriensystem definiert werden, anhand dessen sich die beiden Paradigmen bewerten lassen. Beide Paradigmen sollten prototypisch implementiert und anhand der Kriterien verglichen werden. Abschließend sollte eine Empfehlung ausgesprochen werden.

Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, kann die Arbeit abrunden. Als Produktivsystem kann dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab darstellen.

Bei Interesse

Sie haben allgemeine Rückfragen, konkretes Interesse oder sogar Änderungs-/Erweiterungsvorschläge? Bitte vereinbaren Sie unverbindlich einen Termin mit mir (am einfachsten über https://bente.youcanbook.me/), und wir können die praktische Ausgestaltung des Themas diskutieren.