The XML You Need to Know for Web Services
If you're a developer and haven't tripped and fallen face-first into XML yet, it's only a matter of time before you do so. The rapid expansion of Web business, the need for accelerated Web development, the need for flexible data transport and the diminishing returns of HTLM have entrenched XML in IT development, and in Web services development in particular. Although it's possible to build and implement Web services that don't use XML as the default I/O data structure, it's certainly rare. If you're headed into Web services, you're headed into XML.
A common misperception held by those who haven't yet plunged into XML is that is it merely an extension of HTML, and is just about markup. Let those ideas go; XML is a group of technologies, of which the markup language is only one. XML is about far more than data formatting; in the world of Web services, XML doesn't just define the messages, it can define the services themselves.
We have XML because HTML, for all its utility and ease-of-use, is static; and the demands of Web applications have, in recent years, required increasingly dynamic functionality. XML meets that demand, of which Web services have become a significant high-level expression. At this point in the evolution of Web apps, XML is an ideal building block.
And at the most abstract level, the argument for XML as that ideal building block is protocol independence. The Web is, increasingly, the circulatory system of global business, and business processes are evolving faster than any one protocol or platform. Web services, to keep pace and accommodate this evolution, should rightly be as protocol-neutral as possible. XML enables this independence while enhancing dynamism.
Many Technologies, Not One
In addition to markup of actual data, XML is used for modeling content (data typing and formatting), linking, for managing document element names, and other essential jobs that are part of defining and implementing a Web service:
XML as a markup languageA model for data that defines data elements and attributes, establishing tags for those elements;
Figure 1: An XML-populated customer record.
XML as schemaAn instruction book constraining a specific XML document, defining its data types and structures, content, and rules;
Figure 2: A schema for the XML customer record in Figure 1.
XML as transform: XSLT (extensible stylesheet language transformation)For remapping the contents of one XML document to a different XML document (or a non-XML format).
Figure 3: An XSLT transformation.