Shareth,
I’m over simplifying this a bit but here it goes. The Canonical doc is really not different then any other publishable or non-publishable document within webMethods. You construct them the same way. The contents and what is used for is where the real differences are. The Canonical doc can be thought of as the common document with an agreed to format that all producing or consuming integrations agree to. An example would be an entity such as customer. A common customer document would be system independent and contain all of the agreed to structure and hierarchy needed.
In practice you might have a producing system that sends its raw data into the integration layer. You might then have a service that is subscribing to the raw data which then transforms the raw data into the common format. The service might then publish the common document into the integration layer. At that time any service subscribing to that particular common document would pick it up and consume it… The consuming service would transform the data into the raw data that its service understands.
By using this type of architecture, you have isolated the producing app from the consuming app. You can go a bit crazy with the Canonical doc but just getting it even in a simple form can help.
#Integration-Server-and-ESB#webMethods#Flow-and-Java-services