Workshop: Modularisierung pragmatisch: Hands-on Spring Modulith

Abstract

Um Ordnung und Struktur in unseren Code zu bekommen und Dinge wie Wartbarkeit und Testbarkeit zu garantieren, sollen Anwendungen oft modular entwickelt werden.

Microservices stellen dafür einen sehr konsequenten Ansatz dar, können aber eine hohe Komplexität mit sich bringen.“Monolithen” hingegen sind vergleichsweise bequem in der Entwicklung, stehen aber im Verdacht, zu einem unübersichtlichen “Big Ball of Mud” zu werden. Diesem Problem versucht “Spring Modulith” entgegenzutreten. Damit werden Spring Boot-Anwendungen in einer Codebasis entwickelt (”monolithisch”), innerhalb dieser werden Module definiert ('modulitisch'), deren Einhaltung anhand von Architekturregeln kontinuierlich überprüft und sichergestellt wird. Außerdem erweitert Spring Modulith das Spring-eigene Eventsystem, um auch zur Laufzeit für eine Entkopplung zu sorgen.

In diesem Workshop möchte ich mit euch anhand eines praktischen Beispiels in die Welt von Spring Modulith eintauchen. Dazu werden wir die Architektur einer bestehenden 'klassischen' Spring Boot-Anwendung analysiereren und überlegen, wie eine modulare, Event-getriebene Architektur dafür aussehen kann. Diese setzen wir dann mit Spring Modulith um und sehen uns an, welche Konsequenzen sich für Code und Tests ergeben und wie Migrationspfade aussehen können. Nach dem Workshop könnt ihr entscheiden, ob Spring Modultih auch für eure Anwendungen eine Option ist. Der Workshop richtet sich an Entwickler:innen und Architekt:innen, Spring Boot Vorkenntnisse sind hilfreich, aber nicht notwendig.

Slides und Source Code

Slides und Material kommen nach dem Workshop

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.