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.

Schulungstermine