In-Depth

XML: The last silver bullet ... It could be just that

It is not every day that a writer gets to write about the last silver bullet. Maybe some would disagree. The software industry takes in and spits out ultimate-savior-technology-to-end-all-technology silver bullets at a quick rate, and the press writes it all down. So every day could be silver bullet day. But XML just could be something really different. This is why....

XML is a marriage that meets the needs of both the democratic Web and the not-so-democratic software industry. There is no need to ask if these diverse camps can co-exist. The World Wide Web has already proved that possible. But the folks that brought you the World Wide Web, inventor Tim Berners-Lee, the W3 Consortium and numerous others, are a pragmatic lot that are at work on a set of component and semantical data interchange standards that can be ignored or used. If they are used and accepted, they may create a design and development environment in which data and application definitions will be far more flexible than they are today.

It can be hard to get your arms around XML -- the eXtensible Markup Language. It arises out of SGML and HTML standards efforts, and at first seems to concern text and document applications. Most products that create XML today come from the text and document industry.

But coming as it does on the heels of the Web's great success, XML is viewed by some as having a far broader impact. The way data is handled may be different if XML catches on. Meta data that describes the data ricocheting around the development community and the commercial application world today could be the first areas XML changes. The way applications talk to applications could change. System management tactics could be affected. In short, XML may have great potential as smart application server middleware.

In fact, XML is not really a markup language. It might be described as a meta description of a markup language. You can use it to define your own tags -- something clever developers have wished to do since the beginning of the Web.

HTML's predecessor, SGML, used Document Type Definitions (DTDs) to set the rules for handling a do-
cument. Later on, Cascading Style Sheets (CSS) applied a somewhat similar principle to HTML. XML can use DTDs, which may be external or internal. This is a broad-brush description, but suffice it to say that when properly defined and validated, XML tags can tell a system something about the data it encounters.

For instance, a schema employed by XML would explain a document's constraints -- its logical structure. A field such as "last name" [or "dollars" (or 'pesos')] on an invoice could truly be handled as a last name [or as money] by other documents that encounter it. The new document would check against a schema in a repository to find out what the field was meant to represent. But despite the sense that something useful is near at hand, the usual cautions should apply.

New kid on the block

XML really only began in 1996. It is young and immature. And important associated specifications such as
eXtensible Style Sheets (XSL) and the Resource Description Framework (RDF) Model are younger still.

The common mantra of XML is that it separates content from presentation. That is a major difference vs. HTML. You can use XML to direct a markup language to, in effect, define in-house data handling methods. It allows you to 'normalize' varied data input sources to allow complex data handling. You can also band with others to define standards. Or you can use accepted vertical or horizontal standards that industry groups or vendors manage to agree upon. Acting as a meta format, and perhaps residing in style sheets sitting in "the great repository in the sky" (the World Wide Web), XML allows you to change the definitions of tags as you go forward. Because it is so fluid and decentralized, it is powerful.

And while flexibility is an XML strength, it can also be a weakness. The idea that XML is a revolutionary paradigm shift will naturally be challenged. Any notion that all existing middleware will suddenly give way to XML is silly.

The Object Management Group (OMG), Framingham, Mass., for example, points this out in a recent white paper on XML. "Every now and then, the computer industry gets swept up in a wave of enthusiasm for some new silver bullet that's apparently going to solve everyone's problems overnight," writes the OMG. "[XML] isn't going to replace solutions like CORBA." The paper outlines XML's roots in markup languages, and notes that because document content in XML applications are generally human-readable scripts, XML is likely "a rather inefficient way of storing information that only ever needs to be machine-readable."

This is a real issue. Truly, it seems early in the game to begin to measure how good XML performance may be. But the XML effort is, at heart, an attempt to make the World Wide Web more machine understandable. And the type of stricture that CORBA-style object programming brings to the table is not widely found in legacy systems. "Objects are structured. Much of the world isn't. A lot of what we have to do is apply structure to data that doesn't have it," said Dave Robertson, product marketing manager at Redwood Shores, Calif.-based Constellar Corp., a data hub middleware maker.

Even within the OMG, some use of XML is proposed, at least as a meta data mechanism. OMG members IBM, Unisys and Oracle are suggesting use of XML
(integrated with another 'ML,' the UML -- the Unified Modeling Language) and the Meta Object Facility (MOF) as an information interchange model for application developers. In fact, this use of XML in a meta data format (this particular proposal is known as XMI), is one of the first big signs of XML's use in application development.

"There is a broad spectrum of descriptive data that we have to handle," said Peter Thomas, product manager for repository technology at Redwood Shores, Calif.-based Oracle Corp. "XMI is an extensible format, so it can be used to handle [new] cases. We think it will expand over time." An IBM representative said XML use means software developers no longer have to resort to proprietary mechanisms to format the data they are storing in databases or passing between applications.

Pressure drop

It is rather forgotten at times that Tim Berners-Lee had a background in object software technology well before he invented the World Wide Web in 1990. And his goal, in great part, was to allow information sharing within dispersed teams of advanced physics researchers and support groups. Much of his work today as the director of the World Wide Consortium (http://www.w3.org) centers on XML as a means of extending the exchange of data on the Web.

At the recent Seybold Publishing '99 Conference in Boston, Application Development Trends asked Berners-Lee what application developers should know about XML. He responded: "Application developers should be using XML and RDF not just for Web pages, but also for storing internal files such as configuration files and, in general, data for exchange."

He continued: "This will allow users to reduce their lock-in to proprietary formats, and allow them to customize parts of their system while retaining off-the-shelf products for other parts."

And there is no need to put off some initial work on this effort, maintains Berners-Lee. "Developers of Web-based applications should be validating all the HTML they generate against the free test available from W3 (http://validator.w3.org/). They should also be looking at the upcoming XHTML specification as a transition from HTML 4.0 to HTML-as XML." In February the Consortium formally released its RDF specification as a W3C Recommendation.

In the past, complex object models for both development and deployment have stumbled in finding suitable repository technology. Berners-Lee would be undeterred. At last year's DCI World e-Business Conference in Boston, he noted: "When people say we need a repository, we say we have the Web." A repository should be decentralized, he said. Based simply on his success with the Web, his statement is hard to counter.

At that same conference, Berners-Lee described XML as "a great pressure-release valve." This is by way of testament to its ability to support change.

XML's potential has not been lost on industry players -- big or small. Among the lot of large vendor XML initiatives are two -- from IBM and Microsoft -- that might prove helpful in propelling XML forward.

Microsoft has helped move XML to the forefront via its new browser technology. Internet Explorer 5.0, released last month, is said to support XML as well as the XSL that allows developers to apply style sheets to XML data. While it is now out of beta, browser makers and document builders are still working from fresh specs, and a shaking out period should still be expected as folks try to get XML to work consistently. Among early beta users of Microsoft's XML implementation is Merrill Lynch & Co., which is using XML to improve development time, usability, data mining and software distribution.

For its part, IBM continues to produce a variety of tools. Editors, transformers, parsers and Bean makers are just a few of the offerings available as downloadable technology previews at the IBM alphaWorks Web site (http://www.alphaworks.ibm.com/). Last month, IBM added Xeena, a syntax-smart Java application for editing valid XML according to a chosen DTD. XML tools will reportedly become part of future IBM WebSphere development environments, with application integration as one of its uses. Last month, IBM announced a deal with The Sabre Group and Noika to build an interactive service. Sabre is writing a Java application to translate its travel data into XML so that streams of data can be defined and presented as individual objects such as airline reservations. (Wireless house Noika will use IBM software to translate the XML into what is described as a Wireless Markup Language or WML.)

While support of big players is important, it is a cast of smaller companies that have set the XML industry in motion. These can be divided, somewhat arbitrarily, into text-document specialists, data and application development specialists, and (proving that miscellany still rules) XML- or Web-centric start-ups.

Among text specialists are Arbortext Inc., Interleaf Inc. (which just bought XML specialty house Texcel Research Inc.), OmniMark Technologies Inc., OpenText Corp., Softquad Software Inc. and many more.

Among the new breed of companies formed to exploit Web-technology opportunities that are finding XML a means to that end, place DataChannel Inc., LivePage Corp., Perspecta Inc., Sequoia Software Corp., UWI.com, Vignette Corp., WebMethods Inc. and others.

Among data and application development specialists, Bluestone Software Inc., Cloudscape Inc., Inference Corp., Kinetic Technologies Inc., Object Design Inc., Poet Software Corp. and others are joining daily. Among this last camp, some notable XML application development-oriented tools have already been released this year. In February, Mount Laurel, N.J.-based Bluestone released Bluestone XML-Server. And in March, Burlington, Mass.-based Object Design announced general availability of eXcelon, an XML data server.

"eXcelon makes it easier to work with XML," said early eXcelon user Srini Sankaran, president of Global Automation, a Palo Alto, Calif.-based system integrator specializing in distributed application integration. "It provides mapping and some validation. Moreover, it provides scalability."

Is XML revolutionary, we asked. "I don't think it's revolutionary," replied Sankaran. "It's really an evolution of SGML for the Web. But its impact is going to be pretty significant. It's a very natural solution for the problems of the Web industry."