XML is definitely a hot technology today. The question is for how long? In a series of articles for executives in "OT Land" (http://www.otland.com), Paul Harmon explains nicely the typical cycle in the introduction of new technologies:
First, new technologies are proclaimed and leading theorists explain how they are going to solve many different problems. Then, after companies begin to experiment with them, it is realized that a lot of infrastructure is going to be needed to make the new technology really useful. Thus, a lull sets in, while the infrastructure is developed. Later, with the infrastructure in place, companies begin again, more modestly, with a much better idea of what the new technology is really good for (Harmon 2002).
Let us briefly review what has happened since the introduction of XML by the W3C in 1998. The Internet Engineering Task Force (IETF) has also accepted XML as a standard. This is very important, since IETF is a powerful organization that governs the Internet. So from the beginning, XML received an official endorsement. This was not necessarily the only reason that XML was accepted as a standard by the market, but it definitely was a prerequisite.
Although XML might not be the most efficient protocol for passing data over the Internet, it has two key advantages:
It is an open, international standard designed for the Internet by the W3C.
It allows users to define the data types of information and include the data type information in the same file as the data itself.
The second point is an important technical improvement with respect to older data protocols. XML allows various applications to communicate data, including the semantics of the data itself. At the time, this sounded like the silver bullet needed to build a network of cooperative Web sites for the Internet, a vision often referred to as the "Semantic Web." Soon expectations ran very high. The business press started to become interested in XML and praised it as the new "lingua franca of the Internet." However, as always with the introduction of new technologies, after high expectations, reality sets in.
The real test for a new technology is when a company starts using it for real business applications. By using XML, companies explored its limits and at the same time looked for new ways to use it for their businesses. The result was the need to introduce a solid infrastructure to support XML for business (mainly for the Internet, though not exclusively).
At the time of writing this book, the W3C has made over 20 extensions to the original definition of XML and has defined a new XML Schema Language, and a variety of XML languages made by numerous companies and consortia has also been defined. So, more than the "lingua franca of the Internet," at first sight XML looks like the Tower of Babel of different languages of the Internet. Of course reality is, as always, in the middle. XML isn't a silver bullet, but it's a technology that's here to stay, one that will play a significant role for the Internet.
Why all of these XML extensions? To understand, it is useful to look more closely at the way XML is used or is proposed to be used. XML was originally designed to be an Internet protocol that allowed companies to pass data over the Internet. However, if several companies want to communicate with each other about some specific information related to their businesses, they need to agree first and standardize the use of a set of XML tags (or data types). Unless the companies agree on the meaning of the tags, they will not understand the data being passed. This basically means that XML can be used to create other XML languages. A set of tags (a DTD set) defines a language. The W3C has introduced an XML Schema for help defining new XML languages. We are tempted to call such languages "XML dialects." So you will find XML dialects for all kinds of vertical domains, such as banking, insurance, and retail. They are all XML, but only if you can speak the "dialect" can you understand the real meaning of the data exchanged.
It is clear that, once you can agree on the information you want to exchange with a partner company, then the next thing you can do with the data is to use it. This is when things really get complicated. Once you start linking different applications together (for example, to implement a set of Web Services), then immediately the need for an XML infrastructure for integration arises. But XML was not originally designed for this. XML was not supposed to be a middleware technology. XML was simply a file format. No security mechanisms were provided; no distributed features were provided. Notwithstanding this, XML has been used as a base to develop new middleware technologies. Notable examples are the earlier proposal called SOAP (Simple Object Access Protocol), UDDI, and WSDL (Web Service Description Language), which have all been created to allow an XML message to automatically locate target applications on the Web and to return messages to the sender.
A significant effort in defining an XML middleware architecture is the work of the OASIS (Organization for the Advancement of Structured Information Standards) consortium. It works jointly with the UN/CEFACT standards body. The initiative is called ebXML, for electronic business XML. The ebXML initiative is basically creating a complete middleware architecture based on XML. In this respect, it is an alternative to earlier proposals such as SOAP. Part of the work of ebXML has been influenced by the work of the OMG (Object Management Group), a consortium defining standards for middleware. One of the contributions of the OMG in the XML area is the definition of a DTD language, called XMI, to allow information to be passed on UML diagrams and documents. UML (the Unified Modeling Language) is an OMG standard widely adopted to model complex information systems. But there is more. XML has found another area of applicability: XML for storing information. This aspect of XML has been extensively dealt with in this book.
To better understand this aspect of XML, let us use an example. With XML, a company owning information can create a report with text, figures, tables, and photographs and decide to store each individual element as an XML file in a content management system. Later, the company may decide to make the entire report available on its Web site, or the company may decide to send only selected paragraphs of the report to targeted people via devices, such as cell phones and/or Palm Pilots.
All this is possible because the basic content is stored as XML files. Figures and photos can be reused and modified while in the content management system, and it is possible because the information has not been stored as a text document or a photograph created in some special program, but as XML files.
Assuming that a predefined set of XML data types (tags) have been agreed upon among a group of cooperating companies, then since each XML file describes all the data contained in that file, a company has the ability to manipulate the data in the files. Therefore, XML can be used as a technology to implement so-called "Web Services." Web Services are designed to help business people creating virtual business applications combining the strengths of several companies. Since Web Services are a kind of set of cooperating Web sites on the Net, all working together to achieve a common business goal, it is clear that XML is a key technology for their implementation.
Many companies are working to incorporate XML in their products. For example, Microsoft is rearchitecting its operating system using an XML-based architecture called .NET. Sun is incorporating XML capabilities into Java and J2EE. Tool vendors are modifying their products to support and generate XML files. Most package software vendors are moving to the use of XML as their primary data-passing or middleware technology.
Database and application server vendors are extending their products to store and manipulate XML files, which is exactly why we (the editors) put this book together, to help you (the reader) understand and exploit the database technology created to support XML files. In addition, major industry consortia are working on specialized XML languages for specific business areas.
The Gartner Group predicts that by the end of 2003, 80 percent of Web-based B2B traffic will be passed as XML documents. However, XML is not the ultimate silver bullet. XML was designed for the Internet and not for the problems one faces when integrating legacy applications with new applications. However, XML promises to be an important technology in the overall distributed computing architecture. Something you cannot miss.