Domain‑Driven Design (DDD)
Domain‑Driven Design (DDD)
Der Architekturkompass für moderne, skalierbare Finance‑ und IT‑Systeme
Kurze Erklärung
Domain‑Driven Design (DDD) ist ein Architektur- und Denkmodell, das komplexe Software so strukturiert, wie das Geschäft selbst funktioniert. Im Zentrum stehen Domänen (z. B. Tax, Ledger, Billing, Controlling) und Bounded Contexts, innerhalb derer klare Regeln, Datenmodelle und Verantwortlichkeiten gelten.
Für moderne Finanzarchitekturen — insbesondere Event Driven Finance, Microservices, Finance Data Mesh und Tokenized Accounting — ist DDD der methodische Rahmen, um Komplexität beherrschbar, skalierbar und fachlich korrekt zu gestalten.

1. Was ist Domain‑Driven Design?
DDD ist ein Architekturansatz, der darauf abzielt, Fachlogik und Softwarelogik eng miteinander zu verzahnen.
Zentrale Elemente sind:
Domänen: Themenbereiche wie Accounting, Tax, Treasury, Controlling
Subdomänen: z. B. Revenue Recognition, Inventory Accounting, VAT Handling
Bounded Contexts: klar definierte fachliche Räume mit eigener Sprache, eigenen Datenmodellen, eigenen Regeln
Ubiquitous Language: eine gemeinsame, einheitliche Fachsprache zwischen Finance & IT
DDD stellt sicher, dass technische Systeme nicht um technische Strukturen, sondern um Geschäftslogik herum gebaut werden.
Die MVA©‑Perspektive: DDD als Fundament moderner Finanzarchitekturen
Im MVA©‑Modell (Minimum Viable Audit) dient DDD als fachlicher Bauplan:
Warum?
Finance‑Prozesse wie:
Order‑to‑Cash
Procure‑to‑Pay
Continuous Close
Realtime‑Tax
IFRS‑Bewertung
Cashflow & Exposure Management
sind hochkomplex und lassen sich nicht in ein einziges ERP pressen.
DDD zerlegt diese Komplexität in fachlich kohärente Bausteine, die man anschließend mit Microservices, Events und Data Products implementieren kann.
2. Die vier Kernbausteine von DDD
1. Domänen (Domains)
Eine Domäne ist ein klar abgrenzbarer fachlicher Bereich, z. B.:
Accounting
Tax
Treasury
Controlling
Billing
Risk/Compliance
Die Domäne definiert „Worum es geht“.
2. Subdomänen
Innerhalb einer Domäne befinden sich spezialisierte Bereiche, z. B.:
Accounting → Revenue Recognition, Ledger Posting, Asset Accounting
Tax → VAT Engine, Withholding Tax, Transfer Pricing
Controlling → Cost Center Planning, Profitability Analysis
Subdomänen helfen, die Architektur verdaubar zu machen.
3. Bounded Contexts
Jeder Bounded Context besitzt:
ein eigenes Datenmodell
eigene Regeln
klare Verantwortlichkeiten
eine eindeutige Ubiquitous Language
eigene APIs oder Events
Beispiele im Finance:
Ledger‑Context
Tax‑Context
Billing‑Context
FX‑Valuation‑Context
Tokenization‑Context
Audit‑Context
Der Bounded Context ist der „Container“ für saubere Finanzlogik.
4. Ubiquitous Language
Alle Beteiligten sprechen dieselbe Sprache.
Beispiel:
Wenn Controlling „Revenue“ sagt, muss genau definiert sein, ob es sich um:
Bruttoumsatz,
Nettoumsatz,
On‑Ship Revenue,
IFRS‑konformes Realized Revenue
handelt.
Ohne sprachliche Klarheit entsteht Chaos — im Datenmodell, in Microservices, in AI‑Modellen, im Reporting.
3. Warum DDD für Event Driven Finance unverzichtbar ist
Moderne Finanzsysteme basieren auf:
Event Sourcing
Kafka‑Streaming
Microservices
Token‑Logiken (Triple‑Entry)
Ohne DDD ist es praktisch unmöglich, diese Bausteine koordiniert, skalierbar und auditfähig zu kombinieren.
DDD sorgt dafür:
1. Events sind fachlich korrekt modelliert
Ein Event wie „InvoiceIssued“ bedeutet in jedem Kontext dasselbe.
2. Microservices sind sauber geschnitten
Tax‑Service bleibt Tax‑Service — keine Vermischung mit Ledger‑Logik.
3. Saga‑Orchestrierung ist verständlich
Jeder Kontext kennt seine Rolle in der Transaktion.
4. Tokenization & Triple‑Entry sind korrekt verortet
Der Token‑Service sitzt in einem eigenen Bounded Context.
5. Data Mesh nutzt dieselben Domänen
Datenprodukte spiegeln die DDD‑Domänen wider.
Damit entsteht eine durchgängige Architektur vom Event bis zum Datenprodukt.
4. DDD in der Praxis: Finance‑Beispiele
Order‑to‑Cash (O2C)
Bounded Contexts:
Order Management
Billing
Tax
Ledger Posting
Payment & Settlement
Tokenization (optional)
Jeder Kontext ist unabhängig, eigenständig deploybar, und liefert seine eigenen Events.
Continuous Close
DDD trennt:
Bewertungslogiken
Abgrenzungsmodelle
Steuerlogiken
Buchungsflüsse
Dadurch werden Abschlüsse automatisierbar.
IFRS‑Bewertungen
Komplexe IFRS‑Themen (IFRS36, IFRS9, IFRS15) lassen sich in eigene Kontexte schneiden:
Lease Valuation Context
Financial Instrument Valuation Context
Revenue Allocation Context
Tax Engine
Ein perfekter DDD‑Bounded Context:
Input‑Events → Berechnung → Output‑Events → keine Seiteneffekte.
5. DDD & Data Mesh: Die perfekte Verbindung
Data Mesh nutzt Domänen, um Datenprodukte zu definieren. DDD liefert die fachliche Grundlage, auf der die Datenprodukte entstehen.
DDD = fachliche Struktur
Data Mesh = analytische Struktur
Beide gemeinsam:
minimieren Fehlinterpretationen
vereinfachen Governance
schaffen AI‑Readiness
6. DDD & Microservices
Microservices ohne DDD = Chaos. Microservices mit DDD = klare, entkoppelte, skalierbare Architektur.
DDD liefert:
den Schnitt der Services
den Datenbesitz
die API‑Grenzen
die Eventdomain
die Verantwortlichkeiten
7. DDD & Saga‑Pattern
Komplexe Transaktionen (O2C, P2P, Revenue Recognition) benötigen Orchestrierung.
DDD definiert:
welche Kontexte beteiligt sind
wer führt
wer kompensiert
welche Events veröffentlicht werden
Dadurch entsteht ein stabiler, auditierbarer Prozess.
NextLevel‑Statement
Domain‑Driven Design ist der Bauplan einer modernen Finanzarchitektur. Es übersetzt die Komplexität des Finanzwesens in eine klare, verständliche und skalierbare Struktur, die Finance‑Teams, IT‑Architekten und AI‑Systeme zusammenführt.
Wer Finanzarchitekturen ohne DDD baut, baut Komplexität — wer mit DDD baut, schafft Zukunftsfähigkeit, Qualität und strategische Klarheit.
FAQs zu Domain‑Driven Design (DDD)
1. Was ist Domain‑Driven Design in einfachen Worten?
DDD strukturiert Software nach Fachlogiken. Nicht die Technik steht im Mittelpunkt, sondern das Geschäft — z. B. Accounting, Tax oder Billing.
2. Warum ist DDD für Finance‑Systeme besonders wichtig?
Finance‑Domänen sind komplex, stark reguliert und prozesskritisch. DDD sorgt dafür, dass Systeme nachvollziehbar, auditfähig und stabil bleiben.
3. Was ist ein Bounded Context?
Ein fachlich abgeschlossener Bereich mit eigenem Datenmodell, eigener Sprache und klarer Verantwortung — z. B. ein Tax‑Service.
4. Wie hilft DDD bei Event Driven Finance?
DDD definiert die Struktur und Bedeutung der Events, sodass Event‑Streaming (Kafka) fachlich korrekt funktioniert.
5. Was ist eine Domäne im DDD?
Ein fachliches Themengebiet wie Accounting, Controlling oder Treasury.
6. Wie hängen DDD und Microservices zusammen?
DDD liefert den Schnitt der Microservices. Ohne DDD entstehen Chaos und doppelte Logiken.
7. Kann man DDD ohne Event Sourcing nutzen?
Ja, aber Event Sourcing entfaltet sein volles Potenzial nur, wenn die Domänen sauber modelliert sind.
8. Welche Rolle spielt Ubiquitous Language?
Sie vermeidet Missverständnisse zwischen IT und Finance — und verhindert fehlerhafte Datenmodelle.
9. Wie unterstützt DDD die Einführung einer Tax Engine?
Tax wird zu einem klar abgegrenzten Kontext mit eigener Logik und klaren Eingangsdaten.
10. Ist DDD für KMU geeignet?
Ja — sogar besonders. KMU brauchen klare Strukturen, bevor sie modernisieren.
11. Was unterscheidet DDD von klassischer Softwarearchitektur?
DDD stellt die Fachlogik in den Mittelpunkt, nicht die Technik.
12. Wie passt DDD zu Data Mesh?
Data Mesh nutzt DDD‑Domänen als Grundlage für Datenprodukte — perfekte Ergänzung.
13. Welche Fehler passieren häufig bei DDD?
Zu technische Schnitte (statt fachlicher), unklare Verantwortlichkeiten, fehlende Ubiquitous Language.
14. Wie lange dauert die Einführung einer DDD‑basierten Architektur?
Ein kleiner Bereich kann in Wochen starten. Die Reifephase dauert Monate bis Jahre.
15. Wie beginnt man mit DDD in der Finance‑Transformation?
Mit Event‑Discovery, Bounded‑Context‑Mapping und einem Pilot (z. B. Tax oder Billing).
