Developers reflect on the Web's lingua franca
What if every bit of data in every computer included instructions about its content that would allow any other computer to interact with it?
Such interoperability could unleash amazing new automation and efficiencies in information systems, and spawn a powerful new service-driven computer industry. For example, software might be written that would allow a carmaker to instantly change its parts orders across all of its suppliers to meet a sudden rise in demand for a specific model.
Although we're not there yet, hundreds of the world's best and brightest technology companies are betting on some version of that vision becoming a reality. Marketed relentlessly under the buzz phrase "Web services," it is a still largely unrealized goal. But there are signs of real progress, if not revolution.
One key benchmark of success has been the steady adoption of a coding language known as Extensible Markup Language (XML), which was approved as a standard by the World Wide Web Consortium (W3C) five years ago today.
XML began as a tool for publishers to describe the contents of documents exchanged over the Web, but it quickly became popular as a technique for describing any kind of data. The language provides terms used to define a Web document's tags--that is, the elements of the document that describe its various pieces--and the relationships between them. Developers at either end of a data exchange then agree to use a common set of tags.
Hundreds of companies now support XML, which is fast becoming the Web's new lingua franca, laying a foundation for a coming wave of Web-based services.
Five years after XML's birth as a W3C recommendation, CNET News.com caught up with some of the people closest to its genesis to gauge the successes, failures and coming challenges for a key technology that has come to underpin the Web.
XML's inherently extensible nature, combined with its applicability for both messages and documents, has made it the foundation for the explosion of standards built upon it, many of which fall under the Web services banner. As a result, we're seeing a sea change in the industry, as virtually all software vendors are moving to support these standards. ZapThink believes that once this transition period concludes, the golden age for distributed computing and the Web will begin. So on this fifth birthday of XML, I'd like to say: The best is yet to come.
What XML cannot do is to magically solve the problem of data interoperability. XML just provides a framework within which interested groups can work out agreements about the vocabularies and data structures to be used in a given domain. The widespread adoption of XML has created a wonderful infrastructure of standardized tools and products to support the creation and implementation of such agreements, but deep down, the job of semantic definition requires the same grinding committee work that standards groups have been engaged in for more than a century.
On the other hand, there is relatively little awareness of one big thing that XML can do: It can play an essential role in freeing its users from the big-vendor hegemony that has ruled the computer industry for the last 50 years. The ability of user communities to develop their own data formats is a powerful force for freedom from vendor control.
Consider electronic commerce. Bridging the gap between rich and poor economies is a global imperative. Businesses of all sizes must be brought into the EDI framework currently occupied by the Fortune 500. Doing this economically will require royalty-free data standardization and inexpensive software as well as vendor support. A combination of XML-based standards and technologies is now converging to accomplish this goal. The ebXML standards provide a free, coherent, easily implementable infrastructure for trade that maps to existing EDI systems; UBL provides standard business messages; Gnome, Linux and Java provide a free, vendor-neutral computing platform; open-source products such as ebxmlrr and OpenOffice provide free registries and office productivity tools; style sheets and open-source page formatters allow the large-scale output of printed business documents; and commercial products like the Sun ONE Secure Trading Agent are coming online to provide vendor support for trading partner agreements and secure messaging over the free Internet. The convergence of these elements will enable the entry into electronic commerce of most of the world's businesses. I'm proud that Sun Microsystems continues to play a leading role in this movement--a role that it adopted when it organized and led the creation of XML itself.
For example, Contivo was able to help Agilent develop and deploy a common information model for integrating a wide variety of business systems using a standardized XML vocabulary defined by OAGI. This would have been impossible without the XML-based convergence.
Years ago, I heard Dan Connolly use the "Pig Farmer's Markup Language" as his hypothetical example of an XML tag set. Soon after, he discovered that such a thing was already in the works for real--leading me to believe are no merely hypothetical XML languages anymore.
Some people are concerned that XML just forces us to contend with hundreds or thousands of splinter languages, and doesn't simplify anything at all. But to me, these many efforts to define XML vocabularies are proof that it works. As long as communities are empowered to define their own tags, and as long as each effort is open to all stakeholders, the ability to communicate will only increase.
I would say that the most exciting premises of XML in my eyes are the possibilities of changing the way users interact with computers through a document metaphor. You may ask yourself why it is XML that is changing the world and not another technology? I believe that the reason is the core design of XML that provides, with its semistructured model, a unified vision of information between data and documents. There is fundamentally no reason why documents created by humans cannot be processed by databases and then searched and reused in other ways or systems. The extent of people's imagination is phenomenal and, for the first time, XML empowers them to express their ideas into documents that are semantically rich.
Vendors are building back-end systems and messaging layers with Web services that support XML. It is hard for me to overstate how firmly I'm convinced that XML documents generated by millions of desktops will become the diamonds of the Internet--preciously exchanged, reshaped, examined in their multiple facets, shared and aggregated by the numerous online services both on the Internet and inside and across the enterprise.
In just three years, VoiceXML has achieved widespread industry adoption, making it the most broadly supported and implemented voice standard in the world. The open-standard framework of XML has made all of this possible, and in the specific case of VoiceXML, will continue to drive innovation on the phone in the years to come.
Applications of XML range from configuration files through to remote procedure calls, from desktop menu definitions to chat protocols. With every new usage of XML, the value of all the interoperable XML tools, both proprietary and open source, is increased.
Of particular interest on the World Wide Web is the success of XSLT, the XML way of transforming documents. This XML-based language has proved useful as glue, as middleware, connecting among other things databases, text documents, Web servers, Web browsers and styles. It's also finding a place as part of Web services, helping to process business transactions.
Two early design decisions with XML were to minimize the number of optional features, and to require strict error-checking. The result of these decisions has been that there is a very high degree of interoperability between tools. Another decision was to use Unicode as the document character set: Work on accessibility and internationalization are helping to make the World Wide Web truly a place for all people.
Five years ago, if you had suggested to a programmer that a configuration file be stored in SGML, you probably would have gotten either a blank stare or a hostile reaction.
In stark contrast, XML is used today by the Gnome desktop on Linux, by the Jabber chat protocol, and is even central to the upcoming release of Microsoft Office. We've made it. We're mainstream.
We each brought different skills and experiences to the working group. If you ask almost anyone on the working group, they could tell you a story where they had already invented XML before the working group even met. I have such a story. Steve De Rose even wrote part of a book about something similar to XML. Collectively we put these ideas together and created XML. If I had a quality that distinguished me from the others in the group I think it was that I always tried to represent the average, maybe even naive, user. I tried to apply the lessons learned from HTML. The biggest lesson was that you can do a lot with something that is really simple. SGML wasn't simple. XML is.
We were confident that XML would be useful. We had dreams that it would be successful. But the reality has been much greater than I think any of us had imagined.
XML has certainly changed the computing world. More than just Web applications, I think the biggest payback has to be in terms of content reuse. Governments and private industry have changed the way they create content and in turn, the way they create documents and Web sites. As more organizations realize these benefits, we are going to continue seeing significant changes in the way people think of publishing.
XML and Web services have also been the singular bright spot in what has proven to be a significant IT spending downturn. Why is that? Primarily because we see XML and Web services technologies as helping companies save costs, make the most of their existing technologies and leverage existing skill sets. The result? XML and Web services spending really started to take off in 2002, and promises (more in) 2003. Case in point? Our analyst firm, ZapThink, which has focused entirely on XML and Web services, grew more than 800 percent in revenue this past year. This is the same year that saw Hurwitz close its doors and other analyst firms suffer. Perhaps our own firm is evidence of the growth and adoption of XML and its importance to enterprises.
SGML--the parent of XML--was the best available language for encoding texts in a structured fashion--but software was both hard to find and hard to build. So what I most wanted in XML was something that would provide the same rich semantics as SGML, but would be easier to write software for.
The most dramatic consequence of XML, for me, has been the flood of XML-aware software: XML parsers, XML-aware programming-language libraries, XSLT processors, XSL FO processors, XML awareness in databases--and not least, XML-aware Web browsers. Most of them are intended by their developers to be used for commercial applications, but as it happens, the most difficult problems faced by scholars working with difficult texts invariably correspond to similar problems faced by commercial software users, and vice versa. And where commercial applications don't directly address a problem, the ubiquity of XML programming tools means it's easier to fill the gaps.
It is now much, much easier to set up systems to deal intelligently with richly marked-up text, which means great things for organizations both commercial and academic, and for the preservation of our cultural heritage.
Netscape and Mozilla's XML-based XUL (Extensible User Interface Language) is also an example of how XML can be extended to provide cross-platform user interface development where developers can customize the browser or create entirely new applications. In addition to using XML for core capabilities such as its user interface, we pioneered advanced uses of XML, such as MathML, an XML-based markup language for representing mathematical data. Web services based on XML protocols such as SOAP (Simple Object Access Protocol) are also an important paradigm shift for browser technology, enabling the Web to become as dynamic a medium as any desktop application. Over the coming years we will see more and more applications that will take advantage of XML and Web service capabilities within the browser in order to become faster, easier to use, more informative and more maintainable.
1 commentJoin the conversation! Add your comment