Canonical Data Model
Often, people from various bu
siness units have different terms or abbreviations
for the same concept, which may lead to an error
For example, the purchase or
der number can be denoted in several ways with dif
ferent parameters and is also based on departments
in the organization. Probably, they would be usin
g codes like PO No, PO ID, PO Code, etc.
ds to multiple custom versions of enterprise-wide
data models such as Product, Customer, Supplier
etc. All models have redundant custom versions of
Sometimes, these service contracts may express sim
ilar capabilities in different ways, leading to in
consistency and might result in misinterpretation.
An ideal solution for this problem is to have ser
vice contracts that are standardized with naming c
onventions. Naming conventions are applied to serv
ice contracts as part of formal analysis and desig
n processes. The use of global naming conventions
introduces enterprise-wide standards that need to
be consistently used and enforced.
The Canonical E
xpression pattern, using Canonical Data Model (CDM
) solves all the related problems.
Canonical Data Modeldefines common architecture f
or messages exchanged between applications or comp
onents. The CDM defines business entities, attribu
tes, associations and semantics relevant to specif
Canonical Data Model is application i
Examples of some CDMs are: OAGIS, ACC
ORD, HL7, HR-XML.
The CDM shift simplifies the des
ign as shown in the diagram below.
Benefits of the CDM shift are:
Improve Business Co
mmunication through standardization
e of Software Components
No. of possible connectio
ns is (n * 2) against n (n-1).
Reduce Integration Time and
Few downsides while using CDM are
too generic (BIG in size) (Light versions might re
lease in order to solve this problem)