Domain-Driven Design

Domain-Driven Design ist eine Methode, die den gesamten Software-Entwicklungsprozess unterstützt. In diesem OOP-Track erkunden wir sowohl die Wurzeln von DDD als auch die vielen wertvollen Erweiterungen der letzten Jahre. Die Fallstudien, Erfolgsgeschichten und Misserfolge, Innovationen und praktischen Lektionen dieses Tracks helfen Teilnehmer:innen, die gemachten Erfahrungen auf ihre Projekte anzuwenden.
» Alle Vorträge des Tracks im Überblick
» Zu den Tutorials & Nightschools

Gestaltet von: Carola Lilienthal

Carola Lilienthal ist Geschäftsführerin bei WPS – Workplace Solutions GmbH. Sie hat an der Universität Hamburg studiert und dort zum Thema „Komplexität von Software-Architekturen“ promoviert. Seit 2003 analysiert sie im Auftrag ihrer Kunden in ganz Deutschland regelmäßig die Zukunftsfähigkeit von Software-Architekturen und spricht auf Konferenzen über dieses Thema. 2015 hat sie ihre Erfahrungen aus über hundert Analysen in dem Buch „Langlebige Software-Architekturen“ zusammengefasst.

Einige Highlights des Tracks

BOUNDED CONTEXT: PROBLEM ODER LÖSUNG?

Bounded Contexts spielen bei DDD-Diskussionen eine zentrale Rolle. Sie gelten als eine vielversprechende Lösung zur Modularisierung von Systemen, sei es in Form von Deployment-Monolithen oder Microservices. Doch die Anwendung in der Praxis bringt Herausforderungen mit sich: Es ist oft schwierig, eine Domäne sinnvoll in Bounded Contexts aufzuteilen. Zudem ist das Konzept nicht einfach zu verstehen. Einerseits steht es für die Aufteilung eines Software-Systems in Module, andererseits soll es helfen, verschiedene Fachsprachen innerhalb einer Domäne voneinander zu trennen. Darüber hinaus wird ein Bounded Context oft als ein Team betrachtet. Wie lässt sich all das miteinander in Einklang bring

Mittwoch| Mit Eberhard Wolff

DAS 1X1 DES COLLABORATIVE MODELING: EIN GRIFF IN DIE DDD-WERKZEUGKISTE

Eine zum System passende Architektur kann nicht im luftleeren Raum entstehen – um eine geeignete Architektur definieren zu können, muss man die Domäne und ihre Anforderungen verstehen. Modeme Architekturarbeit beginnt somit ein ganzes Stück vor der eigentlichen Architektur. Für diese Exploration der Domäne wurden im Rahmen von Domain-Driven Design (DDD) verschiedene kollaborative Modellierungstechniken entwickelt. Deren Ziel ist es, dass alle an einer Software beteiligten Personen die Domäne und ihre Anforderungen kennen und verstehen.

Mittwoch | Mit Frank Steimle, Florian Pfleiderer

THEMATISCH PASSENDE TUTORIALS

TUTORIAL | Domain-Driven Design von der Vision bis in den Code: Functional Domain Modelling

Moderne Kollaborationsmethoden wie Event-Storming helfen, Fachexpert:innen und Entwickler:innen zusammenzubringen. „Domain Modelling“ geht noch einen Schritt weiter und ermöglicht gemeinsame Arbeit direkt am Code. In diesem Workshop erprobt ihr das Vorgehen an einem praktischen Beispiel.

Ihr bekommt einen PO zur Seite gestellt, der euch die Fachlichkeit erklärt. Zunächst erarbeiten wir im Event-Storming das Big Picture. Anschließend modellieren wir in kleinen Gruppen die Domäne mithilfe eines funktionalen Typsystems. Fachexpert:innen haben die Möglichkeit, direkt Feedback zum Code zu geben.

Ziel des Workshops ist es, nicht nur das Typsystem richtig zum Domain Modelling zu verwenden, sondern auch die Kommunikation mit POs, Kunden und anderen Fachexperten zu üben.


Montag | Mit Marco Emrich, Ferdinand Ade

TUTORIAL | From DDD to Serverless in a Day

EventStorming, collaborative modelling, bounded context canvas - now what?

Did you ever feel like you're standing in front of a mountain of cloud tools and implementation options, with a well-designed domain model, but no idea where to start? Or are you fully equipped with technical understanding and cloud experience, but deeply unsure how to "cut" your system for good modularization?

Fear not, because this workshop will introduce you to a solid set of tried and proven methods and tools, that will help you to fill the gap!

Working in ensembles, we will breeze through the creative process - from EventStorming to automated deployments using Infrastructure as Code - to highlight a good path through the cloud jungle, and give you a jump start into your journey to serverless.


Freitag | Mit Tobias Goeschel