SSWEBF Braintrust - Lauren Wood -
INTERNETWEEK, Page 1, July 27, 1998
Don't be fooled by the name: The Document Object Model can do much more than ensure that competing browsers can view the same Web document. Its real strength is in helping disparate Web applications talk to each other.
As the World Wide Web Consortium (W3C) prepares to release the DOM next month as a proposed standard, a new light is being shone on its ability to complement not just HTML but also the Extensible Markup Language. Vigorous attention also is being given to its potential to spur further use of XML for data-centric computing, E-commerce and application interoperability.
Indeed, when the W3C started work on DOM a year ago, "XML wasn't a big thing, and so it was much easier to explain the DOM in concepts people were familiar with, like Dynamic HTML," said Lauren Wood, chairwoman of the W3C's DOM working group. "But now, as people are getting more experienced in XML, we can show actual XML examples without people saying, 'huh?'
"To use XML on the server side for all these applications that people are talking about, you need something like the DOM," Wood said.
Indeed, some of the best-known XML-based applications, such as webMethods Inc.'s B2B Integration Server and DataChannel Inc.'s RIO server, use some form of a document object model today. Both vendors said a standardized DOM will only make it easier to build XML-based applications.
"The W3C is fully on the XML bandwagon now. Why should the DOM be any different?" said analyst J.P. Morgenthal of the NC.Focus consultancy. He added that for XML to continue to develop, "it's absolutely critical that the DOM emerge."
So, what exactly is the Document Object Model, and why is it important?
It's All In The Translation
The DOM defines a programmatic interface for XML and HTML documents. Using the DOM, programs and scripts can dynamically access, extract and update the content of these documents.
Within a Web browser, the DOM provides access to individual page elements-say, a headline-and lets users update that element on the fly.
The DOM, however, "isn't a silver bullet. Even with it, you won't necessarily be able to write full-featured, fully interoperable applications. That's a misconception," said Sara Williams, lead product manager for Microsoft's Internet Explorer browser software.
For one thing, the DOM provides access only to the elements that make up HTML documents, not how those elements are manipulated. So, for instance, if a JavaScript is used, its syntax must be equally supported across both major browsers. Complicating the situation, DOM Level 1 does not define an event model, leaving that matter to the individual browsers.
Regardless of whether the DOM ever enables interoperable Dynamic HTML, those browser tricks could be nothing more than window dressing compared with how the DOM empowers XML. Because XML documents are basically data stored as documents, a standardized DOM provides a uniform way for developers to tap into and interact with those increasingly mission-critical data streams.
"XML on its own is really this stream of internationalized characters that follows certain rules. But you can't actually do anything with this stream of characters with pointy brackets and question marks in it," said the W3C's Wood. "But, for example, if you have used XML to define items in a catalog, you need some way of getting ordering information out of the catalog and inside an order form, inside that commerce application. That's the DOM."
A standardized DOM could also be supported by vendors as an interface to their proprietary data structures and APIs. In addition, content authors can write documents to the standard DOM interfaces rather than product-specific APIs, thereby increasing interoperability.
Timing Is Everything
For DataChannel, whose XML-based RIO server enables enterprisewide information sharing, the imminent delivery of the DOM couldn't come at a better time. RIO runs on DataChannel's XML parser, which contains an implementation of the DOM based on working-group specifications. Because browsers today lack a standardized DOM, DataChannel has to send its own parser and DOM implementation down to the browser with the application.
"If we had a standard DOM API in all browsers, our client would be much lighter. It's just a pain to have to send it down," said John Tigue, senior software architect at DataChannel.
Netscape's Mozilla open-source project with its community of developers is adding XML support, including the DOM, in Communicator 5.0. Microsoft, meanwhile, made its first try at a DOM implementation-based on the W3C's work-in the current Internet Explorer 5.0 beta 1 release, according to Jean Paoli, Microsoft product unit manager for XML.
A Self-Contained Server
WebMethods' XML-based B2B server, meanwhile, already has its own internal object model and companion query engine. The product-which is used to enable applications such as supply-chain integration and automated procurement-hides the innards of its product from customers, so adding DOM support isn't crucial to its success.
Thus, even if B2B eventually does support the DOM, which the company is considering, customers would not necessarily notice a difference, said Joe Lapp, a senior engineer at webMethods.
Still, according to the pioneering XML vendor, a standardized DOM could help spur XML-based E-commerce. "It will make it easier to write E-commerce applications. If there's a DOM implementation out there, you can more quickly use it to build an E-commerce solution," Lapp said.
In the long term, the DOM also could play a role in the increasingly competitive area of XML-RPC, which uses lightweight XML syntax and standard Web HTTP transmission to send remote procedure calls between applications and systems. The result: potential interoperability across platforms, component object models and applications over the Web.
Today, solutions vying for attention in the XML-RPC space-including DataChannel's WebBroker, Userland Software Inc.'s XML-RPC and Microsoft's Simple Object Access Protocol, or SOAP-generally use their own APIs for access to XML documents.
Another Opportunity
But in the long term, Wood said, the DOM could play a role in this middleware market as well.
"If you have COM or CORBA, they are talking together at the application level. Neither of them actually goes to the data stream," she said. "So what you could do is implement the DOM on top so you've got the applications talking together, and you've got the DOM knowledge of what's actually in that data stream you're trying to process."
Those implications most certainly transcend the presentation of HTML pages.
Copyright c 1998 CMP Media Inc. |