I was looking at the IT impacts for one of the changes that was required to my IT application stack. There are a number of systems and most of the systems using web开发者_Python百科service for communication. After I had completed my assessment , one of my collegues asked me if there are any 'canonical changes' required. I was puzzled with the term and asked him what 'canonical change' means and he rephrased the question asking if there are any xml schema changes.
Does the term canonical change same as changes in xml schema? If it so , is there any specific reason for calling it canonical change?
Regards,
Both of the books below refer to an idea of a "canonical" XML, as your in-house proprietary format... it's assumed that you're taking multiple, third-party data sources (i.e., Web Services) and translating the XML into your "canonical" XML format.
- Enterprise Service Bus
- Enterprise Integration Patterns
For Example, let's say that you have a "canonical" XML format that looks something like the following:
<MyAPI>
<OrderNo>123</OrderNo>
</MyAPI>
Web Service A may have similar data, but in a unique format:
<WebServiceA>
<OrderNumber>123</OrderNumber>
</WebServiceA>
Web Service B may also have similar data, but in another distinct format:
<WebServiceB>
<OrderID>123</OrderID>
</WebServiceB>
Yet, both will be translated into your "canonical" XML format:
<MyAPI>
<OrderNo>123</OrderNo>
</MyAPI>
I don't think there is any definition of "canonical" that has special meaning in XML schema world. But in a way, it is logical to apply adjective "canonical" to the change of XML schemas, because XML schema basically defines an interface for data exchange inside and between subsystems, and changing that is the same as changing the "canons", "basis" of the system. See also a definition of the word in Wikipedia.
精彩评论