This section explains how the Canonical Data Model EIP can be implemented using WSO2 ESB. The following topics are covered:
Introduction to Canonical Data Model
The Canonical Data Model EIP minimizes dependencies when integrating applications that use different data formats. It is independent from any specific application, and requires each application to produce and consume messages in this common format. For more information, refer to http://www.eaipatterns.com/CanonicalDataModel.html.
Figure 1: Canonical Data Model EIP
How WSO2 ESB implements the EIP
The Canonical Data Model EIP minimizes dependencies between applications that use different data formats in messaging systems. That ensures loose-coupling between applications.
WSO2 ESB supports a number of different data formats including POX, JSON and SOAP. Translating to a common data model (SOAP in WSO2 ESB) and back to the original format is done using the underlying implementations of message builders and message formatters. If the receiving messages are not in the format the back-end service requires, users can use a Translator mediator or create a new message in SOAP format. The Payload Factory mediator can be used for that.
Also see Normalizer EIPNormalizer for sample scenarios and explanations.