Modularisierung pragmatisch: Ein praktischer Deep Dive in Spring Modulith

Abstract

Eine klare Modularisierung ist eine der wirksamsten Strategien, um große Anwendungen langfristig wartbar zu halten. Üblicherweise zerlegt man die Anwendung dazu entlang fachlicher Grenzen in Module, die möglichst stark entkoppelt sind.

Spring Modulith bringt diese Idee in eine Spring-Boot-Code-Basis ("Modulith"). Damit entsteht eine Alternative zu verteilten Microservices, ohne deren operative Komplexität. Module sind hier Java-Packages, die mit klaren Sichtbarkeits- und Abhängigkeitsregeln versehen werden und deren Einhaltung sich in Tests automatisiert verifizieren lässt. Zur Laufzeit-Entkopplung bietet Spring Modulith neben klassischen Methodenaufrufen einen ausgefeilten Event-Mechanismus mit Asynchronität, transaktionaler Absicherung und Nachvollziehbarkeit.

In diesem Live-Coding-Vortrag gibt Nils euch anhand praxisnaher Beispiele eine Einführung in Spring Modulith. Wir sehen uns an, wie man eine Anwendung in Module zerlegt, deren Architekturregeln verifiziert und sie über Events entkoppelt. Außerdem ordnen wir ein, für welche Szenarien sich der Ansatz besonders eignet. Vorkenntnisse in Spring Boot sind hilfreich, aber für das Verständnis der gezeigten Konzepte nicht notwendig.

Slides und Source Code

Slides und Material kommen nach dem Talk

Meine Workshops zum Thema

Rund um das Thema Spring und Spring Boot biete ich auch In-House-Workshops und Schulungen an.

Mehr Informationen dazu findest du hier.