Canonical model

A canonical model is a design pattern used to communicate between different data formats.

A form of enterprise application integration, it is intended to reduce costs and standardize on agreed data definitions associated with integrating business systems.

The desire for consistent message payload results in the construction of an enterprise or business domain canonical model common view within a given context.

[1] Adoption of a comprehensive enterprise interfacing to message-based integration begins with a decision on the middleware to be used to transport messages between endpoints.

The desire for consistent message payload results in the construction of an enterprise form of XML schema built from the common model objects thus providing the desired consistency and re-usability while ensuring data integrity.