CDM where to transform?

This is a presentation I made about "why to use CDM?" and "where transformation can be done".
It is in Dutch, please feel free to comment on it !


CDM or not?

Again I am participating in a project that must decide to use a Canonical Data Model or not. In theory this is generally a good idea as already described by Wolf's Enterprise Integration Patterns. Does this also hold for a SOA? Yes when we must believe Thomas Erl, in fact it is one of his SOA pattern (Canonical Schema)

We all know the advantages

* Less transformation needed (this only holds when you have NxM relations)
* Data reuse between Services within the same Service Inventory

What do others say?

Steve Jones describes three ways in his blog to setup a CDM. In Common demoninator (1) the minimum set of data that can be used to effectively communicate between areas on a consistent basis. The goal here isn't that this should be used on 100% of occasions but that it represents 70-80% of the interactions. In a Superset (2) the goal is to capture a canonical form that represents 100% of the possible interactions between services. Thus if a service might need 25 fields of product information then the canonical form has those 25 fields. The last one is the Enterprise beast (3) and this one creates a single data model that represents not only the superset of interactions, but the superset of interals as well.

And what do I think?

  1. I do not see it happen to get one big enterprise model.
  2. Try to make a CDM per business domain. And use the data attributes that really are necessary. This makes you think good about the model and will cut out the bad fruit
  3. Make use of XML Schema to define the data entities and do not CSV,TXT or other non-standard formats
  4. Make a document that will describe and defines the data entities so that everybody has a good understanding of the entities.
  5. Make the data available to others


Soap over JMS W3C Recommendation

As you may know Soap over JMS is not a standard yet.
W3C has just released W3C Candidate Recommendation SOAP over Java Message Service 1.0 which specifies how SOAP (both SOAP 1.1 and SOAP 1.2) should bind to a messaging system that supports the Java Message Service (JMS).

If you do not want to read specifications this article on InfoQ might be a good starting point.

Now it is waiting for our Vendors to support it.