Home > Candidate Patterns > Canonical Data Format

Canonical Data Format

How can services be designed to avoid data format transformation?


Services that use different formats to represent data cause interoperability concerns, raise difficult runtime exceptions, and require the need for undesirable data format transformation measures.


The format used to deliver data between services is standardized across all services within an inventory, thereby guaranteeing a base level of interoperability.


Depending on the communication protocols being used, this pattern may dictate certain file formats or, in the case of Web services, the use of the WS-I Basic Profile.


Data format standardization can lead to communication limitations associated with the chosen format type.




Under Review


Thomas Erl

Contributor Notes

While there's not harm in standardizing on common data formats, this form of standardization may not warrant a separate design pattern. Data Format Transformation is often carried out within service boundaries to overcome legacy compliance issues. In many of these situations, the data formats cannot be standardized until the legacy system is replaced. Also, the application of Canonical Protocol often will result in the standardization of data formats that are established with the communication protocol technology.

- Thomas Erl