img
Home > Candidate Patterns > Canonical Data Format

Canonical Data Format

How can services be designed to avoid data format transformation?

Problem

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.

Solution

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

Application

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.

Impacts

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



Architecture

Inventory

Status

Under Review

Contributors

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