September 26, 2001
Change is one of life's inevitable constants, yet there are certain times at which we recognize it more than others. In the terrible events of the past few weeks, we've been forced to accept that many things are not as we thought they were. Over the last six months, the downturn in the tech sector has dampened many a wild and hopeful grab for dot-com glory, and we're now faced with the prospect of an even more widespread economic malaise.
So there are points of inflection in our comprehension of the world around us. We are now at such a point in the XML world, too. This is not to say that the future for XML looks bleak -- in many ways it's never looked better -- but tomorrow's XML will be very different from what we're used to.
XML Schema a Turning Point
Until the publication of the W3C's XML Schema Recommendation earlier this year, our industry had been very focused on the activities of the relatively few standards makers, centered mostly at the W3C. We've tussled and mused over the power games of standards. Several important victories for interoperability have been won, and the disastrous "browser wars" scenario that left HTML so broken and stagnant has been averted.
Perhaps the most important inheritance from these early years has been the lesson that it's profitable to agree on interoperable standards, with the consequent rise to fashion of participation in open standards groups. By providing a starting place for agreement, XML has played a vital role in the rise of cooperation, aided by the constantly falling costs of telecommunication.
As XML made inroads into mainstream usage, the demand for accompanying tools and technologies was high. Application areas other than those traditionally occupied by SGML needed new ways to get the most from XML. We've spent the last three years enthusiastically assembling our XML toolkits, eagerly awaiting new W3C specs, and the tools that implement them.
It's been said that the XML community, despite periodic fractiousness, has a surprisingly high degree of cohesion. This is attributable to both the shared acceptance of the obvious benefits of interoperability and to the common desire to mature to infrastructure to the point where we can do useful work with it.
The publication of W3C XML Schema is a turning point, representing the zenith of cohesion in the XML community. In the world of commercial computing, Schema provides the bulk of the remaining pieces of the XML jigsaw. It especially brings integration with databases, the use of which dominates most significant software engineering endeavors, and integration with object and component-based systems such as Java or .NET.
No single technology subsequent to Schema has a chance of bringing such widespread benefit. It was not insignificant that, when announcing Schema earlier this year, Tim Berners-Lee portrayed the combination of XML, namespaces, and XML Schema as the new XML platform. Now that object and database programmers have what they need, a way of applying types to XML data, there's nothing in the way of XML becoming widespread in general computing.
A Commodity World
XML is now well on its way to becoming a computing commodity, functionality taken for granted on any platform. And the thing about commodities is that they're, well, fairly uninteresting. Doubtless the W3C will continue to produce various XML specifications. Some of these are necessary housekeeping, and others will be significant only to certain portions of the XML world. The fact is that, now we've got most of the tools ready to hand, it's high time we resumed building. There's always a certain kind of enthusiast keen on fine-tuning the workings of the hammer, but the vast majority need to get on and make things.
Though rooted in the same core, the areas of real development in XML are moving outwards and in different directions. By and large they mostly fall into the category of XML application. For some, if not most, of these areas, to be tagged "XML whatever" isn't really very important. The commodity characteristics of the XML have been inherited, but the application level characteristics are the key focus of interest.
Is such divergence terminal? Does this mean a splintering or disintegration of the XML world as we know it now? To a certain extent, yes. Those using XML for web services, for instance, only use a certain subset of it. Their interest in the rest of XML will necessarily wane -- economically speaking, justifiably so. While waiting for our XML toolbox to fill up, most of us kept with the plot, but fewer and fewer will be willing to follow the increasingly esoteric tweaks applied to the XML family of specifications.
XML at the Interface
Also in <taglines/>
However, this road of XML divergence reaches only so far until it meets the strong and persuasive theme of today's information systems: convergence. Increasingly we want access to the same information through myriad devices, and the idiosyncrasies of particular systems are becoming less and less tolerated. It seems obvious that XML has an important part to play. The obvious consequence of this is that although there may be a divergent community, there's still advantage to be gained from paying attention to the interoperability of the core.
In his XML.com article this week, on the integration of XForms with web services, Micah Dubinko highlights the advantages gained by a common core: achieving efficiency savings and a cleaner architecture by layering over a common data representation. Scalable vector graphics may seem a million miles from e-commerce vocabularies, but the common base of XML will result in important and unexpected advantages and combinations.
As long as the common core is valued, these advantages will persist. One question must be answered: Is this common core XML 1.0 and W3C XML Schema as we know them now? Even these "basic" specifications have dark corners of wizardry, after all, and there have long been voices calling for simplification and subsetting. Yet knowing as we do that these corners will be neglected, we cannot afford to aim for anything less than full conformance to the core of XML as specified by the W3C. To lower our sights would to be the start of a decline from which we would not recover.
Though we've come to this point in XML's life grumbling, kicking, and occasionally screaming, it is the shared creed of conformance and interoperability that's ensured XML's success. There is little doubt that were it not for the pressure applied by a community with these values, we would have at least one vendor-specific flavor of XML by now.
XML's very success necessitates that it can no longer hold together in one monolithic grouping. Distinct communities are developing around printing and graphics, web services and object technology, databases, and electronic business. For the XML community, the route of divergence is pragmatic, practical, and inevitable. The support or neglect of core interoperability, however, remains a choice.