Search⌘ K
AI Features

Canonical Data Model Pattern

Explore the Canonical Data Model pattern to understand how it reduces dependencies between applications by introducing a common data format. Learn the benefits and trade-offs of this approach, and see practical examples of its use with Apache Camel tools for effective data translation and integration.

Intent

This pattern allows the minimization of dependencies between applications that use different data formats through an additional level of data format indirection.The Canonical Data Model pattern is also known as the Common Data Model (CDM).

Context and problem

Some applications use different programming languages to represent the same data model in different formats.Middleware frameworks are perfectly equipped to solve the integration challenges imposed by such applications. Messaging channels provide temporal decoupling, the routing layer ensures location transparency, and message translators help convert data from the source to the target format.

However, if there are a large number of applications that have to communicate with each other, the number of message translators can grow exponentially and make it difficult to add more data formats. ...