Databases Reference
In-Depth Information
Canonical data and canonical interface
The canonical data formats should represent the idealized data format
for the data entities in the system. The canonical interfaces should be
the idealized service interfaces. Generally, it is a bad idea to use existing
service data formats or service interfaces as the canonical form. There
is a lot of work being done in various industry-specific bodies to define
standardized canonical forms for entities that are exchanged between
corporations.
The benefits of a canonical form are as follows:
Transformations are only necessary to and from canonical form, reducing the
number of different transformations required to be created
Decouples format of data from services, allowing a service to be replaced by
one providing the same function but a different format of data
This is illustrated graphically by a system where two different clients make
requests for one of the four services, all providing the same function but different
implementations. Without the canonical form, we would need a transformation of
data between the client format and the server format inbound and again outbound.
For four services, this yields eight transformations, and for two clients, this doubles
to sixteen transformations.
Using the canonical format gives us two transformations for each client, inbound and
outbound to the canonical form. With two clients, this gives us four transformations.
To this, we add the server transformations to and from the canonical form, of which
there are two per server, giving us eight transformations. This gives us a total of
twelve transformations that must be coded up rather than sixteen if we were using
native-to-native transformation.
 
Search WWH ::




Custom Search