Programm

DDD Camp mit Matthias Bohlen
Präsentiert von Entwickler Akademie
und Entwickler Magazin

 

Tag 1: Event Storming, Bounded Contexts, Backlog

  • Kurze Wiederholung der Grundlagen des taktischen DDD (die 9 Grundbausteine und wie man sie im Code abbildet)
  • Event Storming, um eine Domäne zu erforschen, die anschließend im Code umgesetzt wird
  • Ausarbeitung der Domäne, bis herunter zu Aggregate Clusters mit Events, Commands, und Read models
  • Identifizieren der Bounded Contexts
  • Cross-functional Teamarbeit (Backend und Frontend gemischt), mit jeweils einem Team pro Bounded Context
  • Backlogs nach Priorität bzw. Abhängigkeiten sortieren

 

Tag 2: Frontend, Architektur und Cloud

Frontends entwerfen:

  • Erstellung von Skizzen für typische UIs, welche anschließend umgesetzt werden
  • Grundlage dafür sind die im Event Storming gefundenen Read models, Commands und Aggregates

Architektur festlegen:

  • Schneiden von Microservices oder Self Contained Systems mit Hilfe der DDD-Bausteine Module, Service, Aggregate, Factory, und Repository
  • Definition der APIs zwischen Client und Server (REST oder GraphQL)

Anschließend Cloud aufsetzen und das gemeinsame Coding in den Teams starten

 

Tag 3: Programmieren, Demonstration & Feiern der Lösung

 

  • Weiter konzentriertes, intensives Coding von Backends und Frontends
  • Gegen Ende der Veranstaltung gemeinsames Vorzeigen, Ausprobieren und Feiern der fertigen Lösungen

Anforderungen:

  • Domain Driven Design bereits angeschaut oder ausprobiert
  • Erfahrungen mit Web-basierten Anwendungen, also Programmieren von Backends auf der JVM und/oder Programmieren von Frontends mit HTML, Javascript/Typescript, CSS (nicht unbedingt alles gleichzeitig notwendig)
  • Einen zügig arbeitenden, WLAN-fähigen Laptop mit entweder JVM-Backend-Entwicklungsumgebung (z.B. Idea oder Eclipse, mit Java, Scala oder Kotlin) oder einer Frontend-Entwicklungsumgebung (z.B. SPA/Typescript auf Visual Studio Code, oder einfach HTML/CSS/JS, entwickelt mit einem gescheiten Editor, nach eigenem Belieben)
  • Vor-installiert auf dem Laptop: Java 8 JDK, ssh oder Putty, git

Zeitlicher Ablauf

Bitte bringen Sie Ihren Laptop mit!

Tag 1:

8:30 Uhr   – Check-in

9:30 Uhr   – Beginn der Veranstaltung

13:00 Uhr – Lunch

17:30 Uhr – Ende der Veranstaltung

ab 17:30 Uhr Get-Together mit Getränken und Snacks

Tag 2 & 3:

9:00 Uhr   – Beginn der Veranstaltung

12:30 Uhr – Lunch

17:00 Uhr – Ende der Veranstaltung