Context Map
Alle Fotos unterliegen der Creative Common Licence.
https://pixabay.com/de/
DDD I
Recap
DDD stellt die Modellierung der Fachlichkeit und die Schaffung einer domänenspezifischen Sprache in den Mittelpunkt.
Prinzipien
-
Einheitliche und unmißverständliche Sprache
Silberne Ehrennadel
CLUB_PIN_HONORARY_OFFICE_SILVER
Prinzipien
-
Einheitliche und unmißverständliche Sprache
-
Modelliere die Fachlichkeit
Modelliere die Fachlichkeit
Fachliches Modell
Technisches Modell
Der Kunde identifiziert sich durch das Tupel: Vorname, Familienname, Ort und Strasse.
Der Kunde hat außerdem noch eine Rechnungs- und eine Lieferadresse.
Prinzipien
-
Einheitliche und unmißverständliche Sprache
-
Modelliere die Fachlichkeit
-
Konzentration auf die Kerndomäne
Ticketing
Benutzer-verwaltung
Payment
Warum "Context Map"
-
Fachlicher Überblick
-
Kontext Grenzen
-
Abhängigkeiten zwischen Kontexten
Wie kommunizieren verschiedene fachliche Kontexte?
Rest
Event
Technische Kommunikation
Rest
Team Kommunikation
Wir haben aber
keine Zeit die Än-
derung nachzu-
ziehen
Wir ändern
die Schnittstelle
Kommunikation
Voneinander abhängig
- Notwendigkeit eines gem. Deployments
Gar keine Abhängigkeit
- Änderungen eines BC beeinflusst kein anderes Team
Team Kommunikation
Gar keine Abhängigkeit
- Änderungen eines BC beeinflusst kein anderes Team
Vertrag
Debitor
Logistik
Melde-
Adresse
Rechnungs-
Adresse
Lieferungs-
Adresse
Team Kommunikation
Voneinander abhängig
- Notwendigkeit eines gem. Deployments
Gar keine Abhängigkeit
- Änderungen eines BC beeinflusst kein anderes Team
Upstream / Downstream
- Der Upstream beeinflusst den Downstream
Upstream / Downstream
-
Es geht nicht um Kommunkationsrichtungen
-
Es geht um Abhängigkeiten
Postel‘s Law:
„Be liberal in what you accept, conservative in what you send.”
Absatz 2.10. des RFC 761 (TCP), Januar 1980
Shared Kernel
-
Teams, die unterschiedliche Anwendungen entwickeln, teilen sich ein Subset des Domänenmodells.
-
Das kann auf Code- oder auch auf Datenbankebene sein.
-
Hoher Abstimmungsaufwand zwischen den Teams.
SK
Partnership
-
Kooperative Zusammenarbeit zwischen Teams.
-
Kann technisch sein oder aber auch organisatorisch.
-
Korrespondierende Kommunikations-struktur zum Shared Kernel.
Customer / Supplier
-
Der Downstream hat Einfluss auf die Schnittstelle.
Wir brauchen
weitere Felder
OK
Customer
Suplier
U
D
Customer / Supplier
-
Der Downstream hat Einfluss auf die Schnittstelle.
-
Dieser Einfluss kann bis zu einem Vetorecht für Änderungen gehen.
-
Das kann dazu führen, dass die Entwicklung des Customers von einem Supplier behindert wird.
Open-host Service
-
Ein OHS bietet eine öffentliche Schnittstelle für alle Kunden
-
Es gibt keine kundenspezifischen Anpassungen.
U
D
WebService
-
Schnittstelle stabil halten
-
Nur inkrementelle Veränderungen
-
Sehe Dich als Dienstleister
OHS / Verantwortung
Strategien des Downstreams
Conformist
Conformist
Suplier
U
D
-
Der Conformist nimmt die Schnittstelle
"as is" -
Änderungen des Supliers haben 1:1 Auswirkungen beim Conformisten.
Anti Corruption Layer
-
Ein Bounded Context hat keine direkte Verbindung zu einem anderen.
-
Änderungen im Upstream führen nicht zu Veränderung im BC
-
ACL ist Teil des Bounded Context
ACL
Text
Separate Ways
-
Ein Bounded Context hat keine Verbindung zu einem anderen.
-
Hohe Integrationskosten.
-
Favorisierte Lösung für Produkte, um externe Systeme anzuschließen.
SW
Mapping
Published Language
-
Oft definiert von einem Konsortium
-
Meist kombiniert mit einem OHS
-
Beispiele: iCalendar, vCard
U
D
Public Language
Abhängikeiten
Shared Kernel
Customer / Supplier
Conformist
Anticorruption Layer
Separate Ways
Open / Host Service
Published Language
Enge Kopplung
Loose Kopplung
Shared Kernel, Customer/Supplier und Conformist sind primär Patterns, die eine sehr starke Kopplung und Kommunikation zwischen Teams erfordern.
Anticorruption Layer, Separate Ways, Open-/Host-Service und Published Language fordern eine losere Kopplung und somit auch weniger Eins-zu-eins-Kommunikation zwischen den Teams.
Conways law
“Organizations which design systems […] are constrained to produce designs which are copies of the communication structures of these organizations.”
Eric S. Raymond, einer der Gründer der Open Source Initiative, schreibt im New Hacker’s Dictionary, der gedruckten Version des Jargon Files, dass bei der Entwicklung eines Compilers durch vier Gruppen ein 4-pass-Compiler herauskommen wird.
Frontend
Backend
Team Kommunikation
Voneinander abhängig
Gar keine Abhängigkeit
Upstream / Downstream
- Partnership
- Shared Kernel
- Separate Ways
- Published Language
- Customer - Supplier
- Anticurruption Layer
- Conformist
Reverse Engineering
BBOM
OHS
MySystem
BBOM
OHS
ACL
MySystem
Domäne
ACL
Computop
Payment
Conformist
Projekt
Produkt
Domäne
ACL
Payment
Produkt
Alle Fotos unterliegen der Creative Common Licence.
https://pixabay.com/de/
Context Map
By neusta Coaching-Team
Context Map
- 734