top of page
< Back
Filtern nach CIMA Labels

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:


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).

bottom of page