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.