Author |
Message
|
Mut1ey |
Posted: Mon Sep 14, 2009 2:58 pm Post subject: Canonical Message Format |
|
|
Acolyte
Joined: 07 Oct 2005 Posts: 74 Location: England
|
Assume all your messages are in XML format, some or all of which use namespaces. How can you create a canonical format that could cater for a new message format coming along, something like FixML 5.0, for example. without having to break the model?
Puzzled. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Sep 14, 2009 3:31 pm Post subject: Re: Canonical Message Format |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Mut1ey wrote: |
How can you create a canonical format that could cater for a new message format coming along, something like FixML 5.0, for example. without having to break the model?
|
The same way you'd create a canonical format in any other environment.
I don't see the issue here. I accept that you have a "proprietory" format (for want of a better term) and you're carrying this in a canonical format. This is the usual situation. What problems are you having? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Mut1ey |
Posted: Tue Sep 15, 2009 4:09 am Post subject: |
|
|
Acolyte
Joined: 07 Oct 2005 Posts: 74 Location: England
|
One thing - Namespaces.
Maybe I don't understand enough about the range of a canonical message format. In my simple terms I am thinking that I would need to know up-front what namespaces I need to cater for BEFORE I decide on my canonical format, and assocaitated mappings. A new format comes along, that has it's own namespace. If I want to use this namespace in the "core" flows I need to change all my esql to add this namespace, or I convert it to the canonical format, but how do I avoid clasheses, as I have now lost the namespace. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Sep 15, 2009 7:48 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Why use specific (and possibly external) namespaces in a canonical format? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Mut1ey |
Posted: Tue Sep 15, 2009 9:35 am Post subject: |
|
|
Acolyte
Joined: 07 Oct 2005 Posts: 74 Location: England
|
Vitor wrote: |
Why use specific (and possibly external) namespaces in a canonical format? |
errr.... so you can differentiate between element names - by pre-pending the namespace pseudonym to it. I would have thought you would potentially use a namespace for your canonical format too. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Sep 15, 2009 9:38 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
We have different ideas of what makes up a canonical format. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Sep 15, 2009 10:05 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
If you are thinking of a "Canonical format" as an envelope, then you have all of the same issues you have with a SOAP envelope. You have to know what is contained in the Body in order to process it.
Vitor is probably thinking of a "canonical format" as a well known message structure that contains business level well-known fields for all possible elements, and the act of transforming a message into the canonical format is the act of performing a business level mapping between the fields, and the same to convert back to a non-canonical format. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Sep 15, 2009 10:21 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjeff wrote: |
Vitor is probably thinking of a "canonical format" as a well known message structure that contains business level well-known fields for all possible elements, and the act of transforming a message into the canonical format is the act of performing a business level mapping between the fields, and the same to convert back to a non-canonical format. |
mqjeff wrote: |
If you are thinking of a "Canonical format" as an envelope, then you have all of the same issues you have with a SOAP envelope. You have to know what is contained in the Body in order to process it. |
And if you're doing this you're better off using SOAP. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Mut1ey |
Posted: Tue Sep 15, 2009 1:45 pm Post subject: |
|
|
Acolyte
Joined: 07 Oct 2005 Posts: 74 Location: England
|
mqjeff wrote: |
If you are thinking of a "Canonical format" as an envelope, then you have all of the same issues you have with a SOAP envelope. You have to know what is contained in the Body in order to process it.
Vitor is probably thinking of a "canonical format" as a well known message structure that contains business level well-known fields for all possible elements, and the act of transforming a message into the canonical format is the act of performing a business level mapping between the fields, and the same to convert back to a non-canonical format. |
I am thinking of the latter - not a wrapper. The point is the "well known" part. How can one know all "possible elements" in light of possible future requirements? Can one ever know that? Does any business stand-still? Is there actually any point in trying for a canonical message format? Wrapper, yes, but canonical format, I am thinking, no. |
|
Back to top |
|
 |
kimbert |
Posted: Tue Sep 15, 2009 1:53 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
There are plenty of examples of canonical formats of this type, in various business areas.
Quote: |
How can one know all "possible elements" in light of possible future requirements? |
By doing a lot of rigorous analysis, and coming up with a format which satisfies all current requirements, and is flexible enough to cope with likely future requirements. |
|
Back to top |
|
 |
Mut1ey |
Posted: Tue Sep 15, 2009 3:20 pm Post subject: |
|
|
Acolyte
Joined: 07 Oct 2005 Posts: 74 Location: England
|
kimbert wrote: |
There are plenty of examples of canonical formats of this type, in various business areas. |
Would FIXML be one of them? SWIFT? What examples are out there for say, Finance and Distribution areas?
Also, I assume that the namespace contstrained formats from external systems are xformed into and out of the canonical format? |
|
Back to top |
|
 |
Vitor |
Posted: Tue Sep 15, 2009 5:19 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Mut1ey wrote: |
Would FIXML be one of them? SWIFT? What examples are out there for say, Finance and Distribution areas? |
IMHO neither of these are canonical but describe specific message types used by a given market segment and agreed as a standard. It does depend a lot on how "canonical" the message model is; my experience is that a canonical format as being described here extends over a given business and no further. In one specific example I dealt with, the business transformed SWIFT messages into and out of their canonical format.
Mut1ey wrote: |
Also, I assume that the namespace contstrained formats from external systems are xformed into and out of the canonical format? |
Again in my experience yes. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Sep 16, 2009 5:13 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
The canonical format becomes just another resource that is under change control and governance processes. |
|
Back to top |
|
 |
Mut1ey |
Posted: Wed Sep 16, 2009 9:01 am Post subject: |
|
|
Acolyte
Joined: 07 Oct 2005 Posts: 74 Location: England
|
mqjeff wrote: |
The canonical format becomes just another resource that is under change control and governance processes. |
It's scope is wider than just the message though, is it not? Any change to your canonised format will require changes to code. Or else, why bother to change the format. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Sep 16, 2009 10:11 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Mut1ey wrote: |
mqjeff wrote: |
The canonical format becomes just another resource that is under change control and governance processes. |
It's scope is wider than just the message though, is it not? Any change to your canonised format will require changes to code. Or else, why bother to change the format. |
But the reason you have a canonical format is to reduce those required changes. Or you might just as well use the original message formats. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|