Willkommen beim Ravioli-Kochkurs

Java Magazin 6.19 erschienen: Was kommt nach Java EE?

Sebastian Meyen

Freunde italienischer Kochkunst haben die Evolution der Softwarearchitektur einmal so beschrieben: In den 1990ern orientierte man sich beim Entwurf von Software an einem Teller Spaghetti. Doch bald änderten sich die Anforderungen und man empfand die Pasta als zu unübersichtlich, weshalb man sich der Lasagne-orientierten Architektur zuwandte – alles schön in Schichten aufbauen.

Als dann die streng horizontal angeordneten Lasagne-Schichten ihrerseits nicht mehr genügend Struktur für die wachsende Komplexität boten, orientierte man sich an Ravioli. Diesen bis heute dominierenden Ansatz nennen wir Microservices.

Komplexe Probleme in überschaubare Teilprobleme zu zerlegen, das kommt der Funktionsweise unseres menschlichen Geistes entgegen. Teilprobleme sollten vernünftig voneinander entkoppelt sein, sonst fällt der Fokus auf die Problemdomäne schwer und Lösungen lassen sich stets nur unter unkalkulierbaren Abhängigkeiten zu externen Faktoren formulieren.

Dabei wird auch berücksichtigt, dass ich bei meiner Analyse (eines Teilproblems) schon mal daneben liegen kann. Das Gesamtsystem, also die Summe aller zu beschreibenden Teilprobleme, kann das verkraften – und ich erhalte Aufschub, um meine Fehleinschätzung „lokal“ zu korrigieren.

Wenn das Risiko eines Irrtums exorbitant hoch ist (das ist der Fall bei eng miteinander verschränkten monolithischen Systemen), ist der Geist befangen und Lösungsansätze geraten weniger mutig und kreativ. Besser befreien wir also das innovative und analytische Denken der Entwicklerinnen und Entwickler, indem wir sie auf Microservices ansetzen.

Das hört sich gut an, der Teufel steckt jedoch wie immer im Detail. Auf eine vernünftige Bestimmung der so genannten Cross-cutting Concerns wie Fehlertoleranz, Security, Konfiguration und Dokumentation muss große Sorgfalt verwendet werden, will man verhindern, dass die sorgfältig konzipierten Ravioli zu einem undefinierten Brei (schlimmer noch als Spaghetti!) zerkocht werden.

Lars Röwekamp und Arne Limburg beschreiben im Schwerpunkt dieser Ausgabe ausführlich, wie man technologisch – aber auch gedanklich! – vom ehemals monolitischen Java-Enterprise-System in Richtung Microservices navigiert. Sie geben einen Überblick über die Prinzipien, die dem Microservices-Konzept zugrunde liegen, stellen die bekanntesten Microservices-Entwicklungs-Frameworks der Java-Welt einander gegenüber und zeigen auf, welche Infrastrukturbedingungen zusätzlich erforderlich sind.

Ich wünsche viel Vergnügen bei unserem Microservices-Kochkurs und bei den vielen weiteren Themen in diesem Heft!

Geschrieben von
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: