Canonical Data Model
Problem
Three systems represent a customer differently:
CRM: Customer
Billing: AccountHolder
ERP: BusinessPartner
Connecting every representation directly to every other representation creates endless mappings.
Solution — Canonical Model
Define a shared integration representation.
CRM ─────┐ Billing ─┼→ Canonical Customer ERP ─────┘
Systems translate to and from that common representation.
Core idea: a canonical model reduces integration complexity by providing shared meaning between systems.