RealTime IT News

XML Buffs Laud XQuery

If a recent survey is any indication, demand for a standard way to see a database table as an XML document is blossoming.

According to research from XML tools maker DataDirect Technologies, 52 percent of 550 XML developers surveyed have already started working with XML Query (XQuery) 1.0, a proposal for a query language that lets users extract information from an XML file.

Another 33 percent have plans to start using XQuery in 2005, said Larry Kim, XML products manager for DataDirect, and author of the report on XQuery adoption.

XQuery is important because it builds on XML, which describes the content of structured data, relational databases and object repositories. The spec uses XML to express queries across all these kinds of data, regardless of whether it is stored in XML or viewed as XML via middleware.

Working XQuery

A purchase order is a classic example of how the spec is used to make life easier for developers, and ultimately, end users. Kim said programmers can take a purchase order from one vendor format and make it into another vendor's PO format by taking XML data and publishing it to the Web.

This data could then be shuttled, exchanged or stored as Web services , an increasingly popular form of distributed computing connecting software across disparate networks.

Developers may also use XQuery to query vast data stores of XML. For example, Kim said NASA recently tabbed systems integrator DynCorp to develop statistical analysis software for various types of aircraft data.

DynCorp engineer Michael Ritchson said he and his team needed a technology that could handle the querying tasks NASA was expecting.

"After many months of research, our development staff decided to utilize XQuery as our technique of choice to query XML data stored in an XML database," Ritchson said. "We now use XQuery for extracting data from structured XML documents stored in an XML database, and this process has dramatically improved the querying capabilities of our existing applications."

Kim's finding is the fruit of a report he wrote after surveying 550 software developers from small, medium and large companies. While the news is encouraging for DataDirect, which makes a software tool that hooks XQuery into the Java API , Kim said the industry should take heart that the spec is being taken up with such interest.

"XML is pervasive as a popular way of expressing information and data, and yet there is still no standard way of manipulating, querying, accessing and transforming XML," Kim said in an interview.

Kim is referring to the fact that XQuery is still a few months away from passage as a standard within the World Wide Web Consortium (W3C), where it is an actual project with a host of specs. XQuery 1.0 is the language Kim focused on for his survey.

W3C spokesperson Janet Daly said more than half of the specifications on the list are now in their second to last call. This is the stage a spec enters when the technical group working on it is ready for other groups to review it to ensure that dependencies have been addressed.

Vendors Consider XQuery For Web Services

XQuery's incompleteness isn't stopping vendors like Oracle and IBM from including it in forthcoming versions of their enterprise-class database software.

Sandeepan Banerjee, director of product management for XML at Oracle, said Oracle will have a full implementation with release 2 of Oracle 10g Database, slated for late summer.

While the engineer believes there is a place for XQuery, he doesn't think it will replace traditional languages like SQL, at least not in the next few years.

"We take XQuery seriously," Banerjee said in an interview. "We see it as having the potential for becoming an important query language. I don't think XQuery will be the only query language in the next one to two years because we see highly structured data still being searched by SQL. We also see unstructured data being searched by Google search engines."

Rather, the engineer said XQuery will have a market niche that is somewhere in the middle, where the data is all XML or has some structure to it. "Enough to query on, but not so much structure that you're better off putting it in a relational database and doing SQL on it," he said.

Paul Rivot, director of competitive technology for IBM, agreed with Banerjee for the most part, noting that IBM will have full XQuery support in the follow-up to its Stinger DB2 Universal Database release.

That update isn't likely to beat Oracle's 10g release 2, but it will appear before 2006. Until then it'll bake in preparation for the next DB2 beta.

Rivot said one of the challenges his company faces is querying relational data and XML at the same time and making them transparent, so that people that know SQL can leverage XQuery and use its capabilities to integrate both languages.

"We see a lot of promise in using XML and XQuery to move data back and forth, and we think it will be particularly useful for Web services ," Rivot said in a recent interview.

This makes sense because most Web services are written in XML, making XQuery a natural back-end support mechanism for broad application-to-application communication. But the matter depends on the context, Banerjee said.

"Web services search is going to be used widely," Banerjee said. "To some extent whether XQuery is used as a query syntax for Web services depends on what the services do. Keyword searches don't need it. If they do complex things like purchase-order invoices, there is more space for XQuery to be a Web services query syntax."

Forrester Research analyst Noel Yuhanna said he sees XQuery as something that will be used to tie together newer applications that require greater interaction or integration with data repositories. The idea that XQuery is becoming a standard is exciting to people who want to develop more XML-based software for grid computing and Web services, he said.

"These are customers who want to put an effort in XML because it provides better data sharing, which is essential when dealing with real-time information," Yuhanna said. "XML has had a slow start but we're certainly seeing it as more appealing with new applications."

For the near term, both Banerjee and Rivot thought Kim's outlook may be a tad optimistic, considering that it was culled from XML fans. But they agreed that XQuery has more promise now than ever despite the fact that herds of specs are months away from becoming standards.

In fact, Banerjee went so far as to predict a convergence of SQL, XQuery and keyword queries of unstructured Google in five or more years. That will be just fine for Kim, who said he believes strongly in the broad applicability of XQuery.