It's a classic IT dilemma: should you wait for a standard to emerge and risk losing your competitive advantage, or should you get the technology you need now in a pre-standard product that might later cause incompatibilities?The feature missing from XQuer
Its a classic IT dilemma: should you wait for a standard to emerge and risk losing your competitive advantage, or should you get the technology you need now in a pre-standard product that might later cause incompatibilities?
The lack of an update capability in XQuery 1.0 is forcing many IT executives into just such an impasse. Heres why: The World Wide Web Consortium has commissioned a working group to formulate an XML query language, or XQuery, and on Dec. 20, the group published its working draft of Version 1.0. But XQuery 1.0, slated to become a standard later this year, does not include an updating function. Updating is needed because, once stored, information in an XML document cant be modified or deleted easily, except by retrieving the whole document, a time-consuming task.
Many XML users cant wait, so they are turning to the XML systems pioneers that have included an update function in products. In some cases, the technical state of the art is moving ahead of the XQuery standard.
"It makes no sense to build and deploy read-only systems," said Ron Lake, president of Galdos Inc., a maker of XML-based Geographic Information Systems in Vancouver, British Columbia. "Updates are part of everything we do." Galdos uses X-Hive/DB, an XML database from X-Hive Corp., a company based in Rotterdam, Netherlands, that has implemented an update method.
"People are chomping at the bit for updates. They just really want them," said Jonathan Robie, a member of the W3Cs XQuery Working Group and a research fellow for Software AG, maker of the Tamino XML database system.
If XQuery could execute updates, business users of XML would be able to go to a lengthy purchase order, say, and on XQuerys command, change just one item. The way they usually make that change today, said Hein Couwet, chief architect of MediaMine NV, a Hesselt, Belgium, software maker using XML in its content management system, is to call up the document, create a new document incorporating the change and delete the old document. Doing an update in this fashion on a 10MB document "takes many minutes vs. a few seconds" via an XQuery mechanism, Couwet said. Whats more, he said, while one user is making a change to a document, it is unavailable to any other user, a major drawback when data must be shared across a large group or company.
Paul Cotton, chairman of the XQuery Working Group and program manager for XML standards at Microsoft Corp., said there are no technical barriers to achieving updates in XQuery, but much work remains to be done. Cottons committee debated whether to do that work before releasing XQuery 1.0.
When speaking on XML issues, Cotton said, he has asked audiences what they want in an XQuery standard, an early XQuery Version 1.0 or an XQuery that includes updates, and he has found the audience "inevitably split down the middle. Half wanted a standard done as quickly as possible. The other half absolutely had to have the update facility." The working group opted to get out XQuery Version 1.0 as soon as possible as a standard (or recommendation, in the parlance of the W3C) before tackling the intricacies of updates, Cotton said. XQuery 1.0 is expected in the next six to nine months without an update function.
But with pre-standard products rolling out, not everyone is going to wait.
X-Hive CEO Jeroen van Rotterdam said the X-Hive/DB XML database does updates using XUpdate, an open-source-code implementation of XML data updates (www.xmldb.org) and offers an API through which update commands may be delivered by an application. XUpdate "is likely to play a part when XQuery adds update support," van Rotterdam said. If not, X-Hive has implemented updates in such a way that it allows the company "to add new update standards quickly when they appear," he said.
Version 2.0 of X-Hive/DB XML was announced Dec. 17, with an emphasis on supporting multiple versions of an XML document. It supports XQuery, XPath, XPointer and Document Object Model, all W3C standards for XML.
NeoCore Inc., in Colorado Springs, Colo., had a different approach. NeoCore uses what it calls digital pattern processing to form queries that can match an XML document node to its placement in an index of the documents structure tree. Pattern matching is ideally suited to XMLs text-based tagging system and hierarchical document structures, said Kevin Huck, chief architect of NeoCores XML Management System. The resulting update implementation, however, is unabashedly "unique, proprietary and patent-protected," Huck said. In other words, it is nonstandard. The 50-employee company has four patents on its data access process and has applied for 15 more.
IxiaSoft Inc.s TextML 2.1 is an XML database system that allows updates through the full document extraction method. It improves on the basic method by offering a document check-in/check-out feature that prevents more than one party at a time from changing it. While its being modified, other users may read the original document without interference, according to the Outremont, Quebec, company. The product is for independent software developers and OEMs looking for an XML database. It has a foothold in various vertical markets, including financial services. IxiaSofts OEM partners include Data Junction Corp., Hit Software Inc., SoftQuad Software Ltd. and Altova Inc.
dbXML Group LLC is a Scottsdale, Ariz., startup that has placed its XML database, dbXML Core, in the open-source arena (www.dbXML.org). The core product is about to be renamed Xindice and taken on as an Apache Software Foundation open-source project. Founded in March 2000, the company plans to sell an enhanced product and build consulting services around an Xindice system that offers XML updates, deletes, triggers and stored procedures.
Ipedo Inc. produces a native XML database system, Ipedo XML Database 2.0, aimed at data integration. The Redwood City, Calif., company supplements the database with Dynamic Information Suite for handling XML data from disparate sources for applications that personalize or customize XML data for users. Ipedos XML Database and XML Global Technologies Inc.s GoXML both use either the XPath and XQuery working draft specifications or resort to an API to handle updates.
Software AG, of Reston, Va., has a demonstration version of XQuery on the Web that can do updates (www.softwareag .com/developer/quip). The demo is an enhanced XQuery predecessor, Quip, and Robie has been extending it to do updates. But Software AG has not incorporated Quip into its Tamino XML database system. Theres nothing to prevent customers from downloading and using it, but Robie said he expects few will do so until Software AG says its ready. "Users need to be cautious," he said. "Updates have to be well-defined, even in prototype; the integrity of the database is at stake."
Likewise, Microsoft, of Redmond, Wash., has a demonstration version of XQuery updates on its Web site (22.214.171.124/xquerydemo), but Cotton said it is "only a demo to familiarize developers with XQuery." Theres been no product announcement, he said. In other words, experiment at your own risk.
Asked about the proliferation of XML update mechanisms, Cotton said, "Those implementations may go off in a direction that the committee has not yet considered."
"We dont even have XQuery in read format yet," said David Fallside, IBMs chief technology officer for emerging e-business standards. "It would be unwise to bolt any pre-standard version of XQuery onto a mission-critical system."
However, IBM is working on a universal method for accessing data, whether it is in XML or relational databases. And the company wants an XML query language to be the access method across both. It proposes to use Xperanto and will offer a pre-beta implementation in the first half of this year and announce product plans later in the year, Fallside said.
Xperanto will be a middleware layer that sits on top of IBMs DB2 or any other relational database and that can translate an XML query into SQL or SQL-retrieved data into XML. There is still a semantic mismatch between XQuery and SQL, which makes it impossible to fully implement Xperanto. But IBMs Alamaden Research Lab has proposed ways to overcome the differences, Fallside said.
Meanwhile, some parties point out that the situation with the XML update standard is not very different from the situation in the early days of relational database, when several query access languages contended with one another, including those from IBM, Relational Technology Inc. and Software AG. Oracle Corp., following IBMs lead, adopted SQL early and has never looked back. Innovative companies are often ahead of the standard-setting process, said X-Hives van Rotterdam.
"For any features that we dont get into XQuery 1.0, there is a risk that the vendors will find a final implementation that is different from the one they anticipated," Microsofts Cotton said. "But thats not much different than what happened with SQL."
Not every user is eager for updates. At the California Board of Equalization and Assessment, which accepts tax payments based on XML forms, the read-only XML format is an advantage, said data architect Larry Hanson, in Sacramento, Calif. The XML document is a legal document, in part because it cant be changed through an update process, Hanson said. The key information in the document is extracted and stored in a relational database. "Right now, having an XML query language with update capability is not important to us," Hanson said.
For many others, however, the rush to XML is producing a demand for multiple capabilities at once. "The XML uptake," said IBMs Fallside, "has just been exploding," with vertical- industry groups getting behind XML and defining standards for their own industries. The activities of RosettaNet for the electronics industry, the Financial Industry Exchange XML protocol, or FIXML, standards for XML transactions and the Association for Cooperative Operations Research and Development standards for the insurance industry are all leading to a rapid buildup of XML information.
X-Hives van Rotterdam said the rush is also leading to contending update methods, but thats the price of innovation ahead of standard. The vendors are following existing standards as far as they can, he said.
Users who are worried about whether theyve made the right choice should become active members of the W3C to advocate what they think works best for them, said Software AGs Robie. "Its always easier if the implementations are part of a standard." But in this case, the uses of XML are running ahead of the standard, "and the public wants it [updates] now," he said.
Charles Babcock is a free-lance writer based in San Francisco. He can be reached at firstname.lastname@example.org.