Skip to content
Art2link ESB v2.02 LTS HomeDocumentationBlogContact
Patterns/Transformation/Canonical data model

Canonical data model

One agreed shape per business entity — Order, Invoice, Shipment — that every integration reads and writes. Partners’ native formats live only at the edges; everything on the bus is a canonical instance.

The canonical model is the internal contract that makes routing through canonical possible. You design one schema per entity, rich enough to carry what any source provides and any destination needs. Sources normalize into it; destinations map out of it; the bus only ever holds the canonical form.

Source A Source B Source C Order (canonical) orderIdcustomerlines[]currencytotal Dest X Dest Y Dest Z

Design it for stability, not for any one partner: name fields in your business’s terms, include what is commonly needed, and version it deliberately when it must change. A good canonical model is the single most valuable artifact for the AI engine to learn from — it is the vocabulary every integration shares.

Canonical ≠ superset of every field. Resist dumping every partner’s quirks in. Model the entity as your business understands it; carry partner-specific oddities as edge concerns, not canonical fields.