XQuery for Databases Building Momentum
The language, called XML Query (XQuery), uses queries to extract data from real and virtual Web documents, paving the way for XML files to be accessed like databases. The firms described the suite as a way for XQuery application developers to test their own work.
Jeff Jones, director of strategy, data management at IBM, said XQuery is important because of the vast amounts of information existing on the Web that many developers are trying to reign in. This creates a lucrative opportunity for companies who make and sell databases because businesses can retrieve data quicker and easier with such applications that support XQuery. It is likely that this fast, easy data retrieval will be attractive to prospective database customers looking for products from the vendor with the most to offer.
"It is the most powerful way to handle XML content," Jones said. "It offers the full power to manipulate, browse, search integrate, and aggregate data."
Jones said XQuery, which has its roots in the SQL language for tapping information in databases, will help vendors that adhere to the standard make their products work with related software from any developer. A common standard, he said, will also enable products to fully take advantage of the benefits of XML, which tag information on the Web, and in software applications in a descriptive manner so that information can be exchanged in a much more accurate and flexible way.
XQuery will also help developers work around using proprietary code used to place queries to XML-tagged business information in databases. Not yet an official standard, XQuery is currently in "last call" status at W3C, which is the phase in the W3C process where the working group believes its work is mostly done, and they ask other W3C groups to make sure that their specs are referenced and are interoperable.
But that hasn't stopped some software makers, including BEA Systems and Oracle, from working with XQuery. BEA's Liquid Data product is based on it, while Oracle supports it in its current 9i Database 2.
Interestingly, Microsoft and IBM, who have recently fielded allegations of refusing to work together within certain working groups of the W3C (such as WS-Choreography), spearhead the W3C XML Query working group. Could this lead to a source of contention? One analyst thinks not.
Stephen O'Grady, senior analyst with research firm Redmonk, said: "We haven't been seeing much contention on the standard, instead it seems like a direction a majority of vendors are pursuing - exhibit A is bitter rivals BEA and IBM being on the same page. Even Oracle has released some XQuery prototypes, so it looks like it's going to be the way to go."
O'Grady, who likes XQuery's potential despite the fact that it is a work in progress, distinguished XQuery from its SQL ancestor.
"The one caveat to remember here is that while comparisons with SQL are not off base, for all that XQuery and SQL have in common there are important differences. Where SQL is declarative, XQuery is semi-procedural - and that's an important difference as it pertains to the skill sets necessary to learn either. And there is a learning curve attached to XQuery - that's why these prototypes and test suites are so important - these technologies need to make their way into the hands of developers and enterprises everywhere, so that they can get comfortable with the technology and see its implications to their business."
IBM is using XQuery as the basis for its strategy (formerly known as the Xperanto Project) to bundle XML with its database software for data integration. In that test scenario, IBM used XQuery in a prototype database using XQuery to integrate commands from its Informix software and two SOAP feeds. Using the practical examples of stock quotes and mutual funds, that Xperanto experiment showed how Web services could be used as distributed data sources.
Jones said the adoption of XQuery in IBM's DB2 products is one of the objectives of IBM's information integration strategy to create technology that will make information available to businesses on demand, part of its overarching strategy for computing. In one example, XQuery will be used by IBM's DB2 Information Integrator, which lets businesses integrate and search the repositories and formats of information as if they were a single database.
DB2 Information Integrator will enable users to access data in structured formats, such as traditional databases with information represented in rows and columns and unstructured formats, such as text documents, multimedia and e-mail.
In time, XQuery will also be built into DB2 Universal Database itself, as well as DB2 Content Manager.
The new suite will be released on IBM's Alphaworks developer site Friday.