Re: XML is ..., WebSvcs are ... (part 2) ...
Actually the whole box & dice is very far reaching. If one looks at the bulk of standards being defined at W3C - most are now based on some XML derivative. I have hardly touched on the derived languages that have already been designed and the others in the 'mill'.
There are XML derived languages for video streaming, voice data, image data etc: etc: (I don't know exactly what they do but someone saw fit to create them.
Many of these 'languages' (which are nothing more that a set of TAGs & rules for their appearance in the language, and are defined in a schema) are being defined by industry groups seeking to simplify the exchange of data between partners - this is most noticable in the Supply-Chain-Management industry which was of course the industry the drove & benefitted from containerization.
XML & Web Services specifically attempt to overcome the problems of EDI in an elegant manner that can be readily picked up by bulk of SMEs (small to medium enterprises) that today can't afford the complexity of EDI but must do business with the top 5-1-% who cannot run their business without EDI. (it pays to remember the Govts ran fastest ahd hardest with EDI & demand EDI protocols for government provisioning. This applies as much to US as to EU.
One other bit of 'magic' that was built into XML is that of language version control. This is akin to the DLL Hell on windows.
The issue is - ver 1.0 of a language appears (say it is dialect used for ordering auto-spare parts). Anyway along comes an upgrade - how does it get implemented without screwing all the apps that have linked to service providers delivering ver 1.0 formatted data. The XML approach
is that the DTD or Schema (actually the DTD is doomed to extinction as it is a patheticly simplistic & non-XML compliant mechanism that has been eclipsed by the XML Schema). Any the Schema gets published so resides at one primary location (which is likely to be replicated) and all users of a document that rely on that Schema include a link to that schema (ver 1.0) in their Documents.
To move to ver 2.0 - the schema creator only needs to create a new schema that contains the differences & link back to the original schma from the new one. This way we have two schemas published ver 1.0 & ver 2.0 & 2 only contains the changes from 1 thus any software that processes ver 2 documents will always validate against the ver 2 schema whilst any documents created with ver 1 can still refer to the version 1 schema rules.
This is a bit like object oriented inheritance. Any new schema inherits the properties of its parent but can overide some definitions and add new ones but all the other stuff is as in the previos version.
So XML offers an elegant and simple and effective version capability. This is a critical requirement for Web Services as it means a services provider can run the old and new service alongside each other. It is up to the servise requestors to determis which version or format that want to use. This means that changes don't have to break applications that are built on older versions of services.
Cheers
Doug Marker