Erhalte einen praxisnahen Überblick über Spring Modulith. Dies ist ein moderner Ansatz, um Anwendungen modular zu strukturieren, ohne sich mit der Komplexität verteilter Architekturansätze auseinandersetzen zu müssen.
Microservices gelten oft als Königsweg zur Modularisierung – bringen aber erhebliche technische und organisatorische Herausforderungen mit sich. Modulithen bieten eine pragmatische Alternative: einen modularen Monolithen, der Fachlichkeit klar strukturiert und langfristig wartbar bleibt.
Anhand einer Beispielanwendung wenden wir die Konzepte praktisch an. Wir diskutieren, wie sich Abhängigkeiten kontrollieren, Architekturregeln automatisiert prüfen sowie Dokumentation generieren lassen und wie bestehende Systeme schrittweise modernisiert werden können.
Agenda
Grundlagen
- Motivation & Einordnung
- Modularität im Vergleich: Modulith vs. Microservices
- Evolutionäre Architektur
- Projektsetup & Moduldefinition
- Package-Strukturen & Moduldetektion
- Simple, Advanced, Nested, Open Modules
- Named Interfaces
- Custom Module Detection
Non-Runtime Support
- Architekturprüfung
- Abhängigkeitsregeln & Architekturtests
- ArchUnit-Integration
- Customizing Verification Options
- Grundlagen von Modultests
- Application Module Testing Support
- Umgang mit Abhängigkeiten
- Bootstrap-Modes
- Change-Aware Test Execution
- Dokumentation
- Modulith-Diagramme (C4, UML)
- Application Module Canvas
Runtime support
- Kommunikation zwischen Modulen
- Domain Events – synchron & asynchron
- Event Publication Registry (Persistenz, Wiederholung, Completion-Modes)
- Staleness checks
- Auswirkungen auf Integrationstests
- Scenario API für Event-getriebene Integrationstests
- PublishedEvents & AssertablePublishedEvents
- Passage of Time Events mit Moments API
- Integration in den Entwicklungsprozess
- CI/CD & Fitness Functions
- Runtime Support: ApplicationModuleInitializer
- Production-Ready Features:
- Modulith Actuator Endpoint /actuator/modulith
- Observability (Micrometer, Tracing mit OpenTelemetry, Zipkin etc.)
- Modulspezifische Flyway Migrationen
- Konfigurierbare Modulith Properties (z. B. Staleness-Checks)
Misc
- jMolecules – DDD-Konzepte explizit machen (optional)
- Aggregate, Entities, Value Objects
- Domain Events & Event Handler
- Repositories
- Module-Annotation
- Nutzung in Modulith-Dokumentation & Canvas
- ArchUnit-Integration für DDD- und Architekturregeln
- Ausblick & Diskussion
- Migration von Legacy-Anwendungen zu Modulithen
- Hybride Architekturen (Modulith + Microservices)
- Event Externalization (Kafka, AMQP, JMS, Spring Messaging)
- Best Practices für DDD mit jMolecules
- Erfahrungen & Lessons Learned
Dein Nutzen
Konkrete Methoden und Best Practices, um Spring-Anwendungen modular, wartbar und ohne unnötigen Overhead zu gestalten.
Transparenz und Kontrolle durch automatisierte Architekturtests und generierte Diagramme.
Praktische Anwendung von DDD- und Architekturkonzepten, sichtbar gemacht mit jMolecules und Modulith-Tools.
Zukunftssichere Systeme entwickeln, die sich leichter anpassen, erweitern und skalieren lassen.
Zielgruppe
- Softwareentwickler:innen, die mit Spring Boot arbeiten und ihre Anwendungen klar modular strukturieren möchten.
- Softwarearchitekt:innen, die Microservices kritisch hinterfragen oder hybride Architekturen entwerfen wollen.
- Teams, die bestehende Monolithen modernisieren und schrittweise in modulare Systeme überführen möchten.
Lernziele
Du kannst einordnen, welche Idee hinter Modulithen steckt und wie sie sich von Microservices unterscheiden.
Du wirst Module mit Spring Modulith definieren und strukturieren.
Implementiere geeignete Kommunikationsmuster zwischen Modulen (synchron, asynchron, Events).
Du kannst Architekturregeln automatisiert überprüfen und sie in CI/CD-Pipelines integrieren.
Du kannst eine modulare Beispielanwendung eigenständig entwerfen und erweitern.
Deine Trainer:innen
Falk Sippach
embarc
Architekturbewertungen, Java Experte
- Agile Softwarearchitektur
- Application Programming Interfaces
- CPSA Foundation-Level
- Documentation-as-Code
- Evolution und Verbesserung von Softwarearchitekturen
- Flexible Architekturen
- Phantastische Diagramme
- Spring Modulith
Als Trainer, Berater und Architekt ist Falk stets auf der Suche nach dem Funken Leidenschaft, den er bei seinenTeilnehmern, Kunden und Kollegen entfachen kann. Bereits seit über 15 Jahren unterstützt er in meist agilen Softwareentwicklungsprojekten im Java-Umfeld, anfangs als Entwickler, später als Projektleiter, Architekt und Coach. Falk ist überzeugt, dass lebenslanges Lernen die Voraussetzung für die berufliche Selbstentfaltung und dauerhafte Freude am Tun ist. Trotz der Begeisterung für Neues behält er immer auch die Menschen und gewachsene Strukturen im Blick, um ausgewogene Lösungen entwickeln zu können. Als aktiver Bestandteil der Community teilt er sein Wissen gern in Artikeln, Blog-Beiträgen sowie bei Vorträgen auf Konferenzen oder User Group Treffen und unterstützt bei der Organisation diverser Fachveranstaltungen. Video: Was ist eigentlich Documentation as Code? Falk erklärt es euch im Stream mit Lisa Moritz.
Patrick Baumgartner
42talents
Java, Spring, Cloud
- Spring Boot Essentials
- Spring Modulith
- Spring Security in der Praxis
Patrick Baumgartner ist Java Champion, leidenschaftlicher Software Crafter und technischer Agile Coach bei 42talents. Er unterstützt Teams beim Bau eleganter, robuster Lösungen und spezialisiert sich auf Cloud-Software mit Java, das Spring-Ökosystem und andere Open-Source-Technologien.
Als aktives Mitglied der Schweizer Communities für Software Craft, Java und Agile teilt er sein Wissen regelmäßig. Er legt Wert auf praxisnahe Zusammenarbeit, Experimentieren und kontinuierliche Verbesserung – und lernt selbst am liebsten gemeinsam mit anderen.
Reinlesen & Vertiefen
-
Cheat Sheet: Modulare Monolithen
Alle Informationen zum Thema Modulare Monolithen findest du zusammengefasst auf diesem Cheat Sheet.
Inhouse Training
Du kannst dieses Training auch als Inhouse-Training exklusiv für dein Team buchen. Bitte nutze dafür unser Anfrage-Formular.
Jetzt anfragenRelevante weitere Trainings
Spring Boot Essentials
In vier Tagen zum fundierten Verständnis von Spring Boot – mit praxisnahen Beispielen für robuste und moderne Anwendungen.
ab 2.160 €
Lerne die Grundlagen von Spring Boot kennen und setze es in deinen Projekten effizient ein.
Spring Data JPA Masterclass
Alles was du über Spring Data JPA wissen solltest
auf Anfrage
Erfahre, wie du Spring Data JPA performant und effektiv einsetzen kannst.
Spring Security in der Praxis
Von Authentifizierung bis OAuth 2.0 – Schritt für Schritt zu robusten und zukunftssicheren Spring-Anwendungen.
ab 1.280 €
Tauche tiefer in das Thema Security im Spring-Kontext ein.