Hands-on Spring Modulith: Modulare Monolithen mit Spring Boot

Abstract

Für den Erfolg unserer Anwendungen ist unter anderem entscheidend, ob eine klare Architektur eingehalten wird, die sicherstellt, dass unser Code wartbar bleibt und wir so jederzeit zügig neue Features entwickeln können. Um dieses Ziel zu erreichen, werden Anwendung oft in fachlich getrennte Module zerlegt, die möglichst stark entkoppelt sein sollen.Mit Spring Modulith steht uns dafür ein Werkzeug zur Verfügung, das eine pragmatische Lösung zum Bauen von "modularen Monolithen" bietet, also Anwendungen, die zwar in einer gemeinsamen Codebasis entwickelt werden ("Monolith"), innerhalb dieser aber sauber modularisiert sind ("modulithisch"). Dazu definieren wir in unserer Spring Boot-Anwendung Module und Architekturregeln, deren korrekte Verwendung Spring Modulith dann für uns überprüft. Durch die Verwendung von Events werden die Module noch weiter entkoppelt und lassen sich so auch isoliert testen.In diesem Live-Event baue ich Schritt-für-Schritt eine Anwendung, an der wir die wichtigsten Features von Spring Modulith sehen und prüfen werden, wo die Grenzen dieses Ansatzes liegen und wie solche Anwendungen bei Bedarf doch in Microservices weiterentwickelt werden könnten.

Slides und Source Code

Slides und Material kommen nach dem Talk

Meine Artikel zum Thema