Mohammed Atef’s Technical blog

Canonical schemas


Canonical Schema is doing the same using for Canonical data model which designed to communicate between different data formats, actually this pattern used to decease the cost of integration developments while you are doing enterprise application integration and also it is used heavily in SOA solutions.


suppose you have five different schemas and you are going to integrate between them what you can do?

Solution without Canonical Schema

you will do integration and mapping between each schema you need to integrate with the other you will do the below design pattern.
canonical schema1

the problem of this solution that you are was a lot of time for mapping and integrating each schema.

Solution Using Canonical Schema

you can create common schema called(Canonical Schema) and at any given time you can translate to or from this schema. it is seems you have only one schema and any other schema can transform to it, i think it will be better for you kindly find the pattern design using Canonical Schema in the image below:

canonical schema2

I hope that helped.


August 19, 2009 - Posted by | Architucture, Biztalk, Design Patterns, SOA | , , ,


  1. Good article. Appreciated if you can provide a sample

    Comment by suresh | August 13, 2014 | Reply

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: