IBM, Oracle Tout XQuery API

Move signals that Xquery standard could be finalized by year's end

As expected, IBM Corp. and Oracle Corp. last week announced a Java Specification Request (JSR) to define a Java API in support of the emerging XML Query (XQuery) standard.

XQuery describes a unified query standard that facilitates access to both structured and unstructured data (http://info.101com.com/default.asp?id=646). XQuery has reportedly been elevated to Last Call status by the World Wide Web Consortium (W3C) (http://info.101com.com/default.asp?id=1472) and is currently undergoing public review before it receives W3C Candidate Recommendation.

Because XQuery doesn’t provide a native API for invocation from application environments, IBM and Oracle have proposed a JSR to define an API that allows Java programs to exploit XQuery. A JSR serves as a request for submitting technologies as proposed standards for the Java programming language within the Java Community Process (JCP).

Sandeepan Banerjee, head of Oracle’s XML database technologies division, says that the proposed Java XQuery API is analogous to the JDBC API, which facilitates programmatic access to SQL data from Java programs. “While SQL, which is the dominant query language today, has a client side API harmonizing with Java in the form of JDBC, XML Query does not have such harmonization with the Java world, and what we are jointly proposing is a common API that allows a Java application to submit XML queries,” he explains.

One of XQuery’s strongest selling points is its ability to simultaneously query both structured and unstructured content. Because of this, Banerjee believes that a finalized Java XQuery API could be a boon to enterprise content management initiatives. “If you look at XML today, a lot of its value is that it unifies data and content management, and content … is relatively unstructured in the enterprise today,” he explains, noting that enterprise developers can exploit a Java XQuery API to provide “programmatic access to [query content] from the Java world, which lets them build richer applications.”

Another potential application for a Java XQuery API, says Banerjee, is in the realm of enterprise information integration.

Once it’s submitted, the joint IBM-Oracle JSR must be approved by the JCP. Banerjee does not anticipate a problem and expects that a Java XQuery API could be approved shortly after the XQuery standard itself is finalized. When will that be? “I think the standard has a good chance of appearing sometime late this year,” he suggests.

Other sources familiar with the W3C standardization process speculate that XQuery could be approved by the end of 2003 or possibly by early 2004.

Oracle Committed to Xquery

In the past, some enterprise developers working with XQuery have expressed doubts about Oracle’s commitment to the standard. The database giant already supports an implementation of XML Schema in its 9i RDBMS, and supports technologies such as eXtensible Stylesheets Language Transformations (XSLT) and XML Path (XPath) which allow users to run queries against structured and unstructured data stored in 9i.

James Somers, a developer with Pro-Concept S.A. (an ERP vendor based in Switzerland) says that even though Oracle has released an XQuery prototype, it hasn’t supported it very well: “On the last version of the Oracle prototype I encountered a problem. My mails to Oracle had no answer, so I had to roll back to the preceding version.”

Even though he works primarily with Oracle database environments, Somers instead has exploited an XQuery prototype from Software AG because, he says, it is updated more frequently and is better supported by that vendor.

For his part, Oracle’s Banerjee reaffirms his company’s commitment to XQuery. “We are absolutely committed to XML Query. But XML Query is one piece—the other big XML-related piece is the XML Schema standard, which came out slightly more than a year ago. The good news is that shortly after that became standard, Oracle incorporated support for it in the Oracle database.”

Banerjee says that Oracle’s XQuery prototype is just that—a prototype—and that the company will fully productize support for XQuery when the standard is formally approved. “What tends to happen is that before these standards are approved, we make available prototypes. So what we have done is we have put a downloadable prototype on our developer site. It has been there for six months, and it is periodically updated as we keep up with the standard,” he notes.

About the Author

Stephen Swoyer is a Nashville, TN-based freelance journalist who writes about technology.