Schulung: Clean DDD Architecture Workshop
Domain-Driven Design und Clean Architecture praktisch einsetzen
- Moderne Architekturansätze für erfahrene Enterprise-Entwickelnde und Software-Architekt:innen
- In umfangreichen Demo- und Übungsanteilen werden die vermittelten Konzepte praktisch eingesetzt
Jakarta-Enterprise-Anwendungen werden typischerweise service-orientiert und mit einer klassischen Schichten-Architektur implementiert. Durch die aktuelle Diskussion zu Microservices erleben jedoch das Domain-Driven Design und die damit einhergehende objektorientierte Programmierung wieder wachsende Aufmerksamkeit.
In diesem Zusammenhang spielt der Begriff der Clean Architecture eine wichtige Rolle. Und nicht zuletzt müssen für die Jakarta-Enterprise-Plattform ausführbare Deployment Units realisiert werden, was in Form von Business Components erfolgen kann.
In dieser Schulung lernen die Teilnehmenden ein integriertes und ganzheitliches Konzept für eine moderne, verteilte Software-Architektur auf Basis von Jakarta EE (JEE) kennen. Der Workshop ist auf die Praxis ausgerichtetet und vermittelt die Umsetzung dieses Architektur-Konzeptes im Rahmen einer bewährten Referenz-Implementierung. Jedoch sind die vermittelten Schulungsinhalte und die praktische Implementierung konzeptionell ebenso auf andere objektorientierte Programmiersprachen wie z. B. C# oder Anwendungs-Frameworks wie beispielsweise Spring (Boot) übertragbar.
Clean DDD Architecture – Einführung
JEE-Anwendung als Referenz-Implementierung
- Aufsetzen der Anwendung (Application Server, Datenbank usw.)
- Einführung in die Fachlichkeit und das Datenmodell der Anwendung
- Multi Tier Architecture, Nutzung der JEE-Plattform
- Überblick über die Ziel-Architektur am praktischen Beispiel
Domain-Driven Design (DDD nach E. Evans)
- DDD-Grundbegriffe
- Zerlegung der Domäne in Bounded Contexts (horizontaler vs. vertikaler Schnitt)
- Implementierung von Building Blocks (entity, factory, repository usw.)
Clean Architecture (nach R. C. Martin)
- Clean Architecture als konsolidierter Ansatz (Ports & Adapters, Onion Architecture usw.)
- Dependency Rule und Dependency Inversion
- Ableitung von Paket-Strukturen
Business Components
- Konzept des Component-Based Development (CBD)
- Business Components als DDD Bounded Contexts
- Business Components mit interner Clean Architecture
- Deployment Units und Remoting-Technologien
- Ableitung von Projekt-Strukturen
Querschnittsaufgaben und Qualitätssicherung
- Aspekte der relationalen Datenhaltung (Concurrency, Tenant, Auditing usw.)
- Cross-Cutting Concerns (Transaktionen, Exceptions, Meldungstexte usw.)
- Definition und Überwachung von Architektur-Regeln mit Werkzeugen (ArchUnit)
- Test-Vorgehen für eine Clean DDD Architecture (JUnit, Injektions-Container u.a.)
Im gesamten Workshop wird eine exemplarische Jakarta-Enterprise-Anwendung im Sinne einer Referenz-Implementierung genutzt. Alle behandelten Themen werden im Rahmen dieser Anwendung demonstriert. Im umfangreichen Praxisteil erweitern die Teilnehmer.Innen die Anwendung durchgängig um einen zusätzlichen fachlichen Bereich, sodass alle vermittelten Konzepte praktisch eingesetzt werden können.
Q&A-Session nach der Schulung
Wir bieten bei dem Kurs allen Teilnehmenden im Nachgang eine individuelle Q&A-Session für Fragen rund um das Thema an. Es sind dabei auch alle interessierten Kolleg:innen eingeladen. Dauer: ca. 1 Stunde, online.
Diese Schulung richtet sich an erfahrene JEE-Entwickelnde und Software-Architekt:innen, die sich für moderne Architektur-Ansätze interessieren. Es werden Grundkenntnisse in den wichtigsten JEE-Technologien wie CDI, EJB, JPA, Bean Validation und JAX-RS vorausgesetzt.