Canonical model
A canonical model is a single, shared data model that every system uses to exchange information. Other systems don’t talk directly to each other; instead, they translate their data to and from this common model via a translator layer. The canonical model acts as a middleman, so each system only needs to know how to communicate with the canonical model, not with every other system.
This approach is a form of enterprise application integration. It aims to standardize data definitions and reduce costs by limiting how many data formats must be translated between systems.
Practically, organizations define standards for the structure and content of messages (the payload). The canonical model provides a consistent view of data in a given context, making message exchange more predictable and reusable. The term is often used with integration strategies and usually involves moving from direct, point-to-point connections to a message-based, centralized integration approach.
A common path is to replace many point-to-point links with an enterprise pattern that uses common data naming, definitions, and values within a generalized data framework.
Benefits include fewer data translations and lower maintenance. Implementing this approach typically begins with choosing the middleware to transport messages between systems, such as an Enterprise Service Bus (ESB) or another enterprise integration (EAI) solution. Standards for message structure and payload are also widely adopted, sometimes resulting in an enterprise XML schema built from the canonical model objects to ensure consistency, reusability, and data integrity.
This page was last edited on 2 February 2026, at 22:56 (CET).