XPERANTO: Middleware for Publishing Object-Relational Data as XML Documents

The eXtended Markup Language (XML) is quickly emerging as the universal format for publishing and exchanging data on the World Wide Web. As a result, data sources, including object-relational databases, are now faced with a new class of users and applications; customers and programs that would like to deal directly with XML data rather than being forced to deal with the data source’s particular (e.g., objectrelational) schema and query language. The goal of the XPERANTO middleware project is to support this new class of users and applications. XPERANTO does this by providing query-able “XML Views” over the underlying objectrelational database. Users can then query and (re)structure XML data using an XML query language, without having to deal with the underlying SQL tables and query language. The XPERANTO system translates XML-based queries into SQL requests, receives the tabular query results, converts them into XML, and then returns XML documents to the system’s users and applications. 1. Motivation and Introduction XML [2][4] is emerging as the standard for publishing and exchanging data on the World Wide Web. As a result, many “e-businesses” want to publish their existing data as XML documents so that their business partners can process them. For example, an online wholesale bookstore may want to make its inventory available in XML form so that retail merchants can process this information over the Internet. It is also important to provide query capability over such XML data because, for instance, a retail merchant may want to check whether the wholesale bookstore has a particular book in stock (this is a selection query over the inventory XML document). The goal of the XPERANTO project [3] at the IBM Almaden Research Center is to publish object-relational data as XML documents. XPERANTO operates as a middleware on top of existing (object-)relational database systems and provides query-able “XML Views” over them. In doing so, it shields users of XPERANTO from the underlying database and language (SQL) and allows them to create and query XML data using an an XML query language (currently XML-QL [5]). Thus, businesses that have large amounts of important business data stored in existing (object-)relational databases can use XPERANTO to make this data available on the Internet in query-able XML form. XPERANTO differs from other similar systems that we are aware of [6] in the following ways. First, XPERANTO is based on a “pure XML” philosophy – users and developers do no need to know or learn SQL. *Currently at Propel, 2350 Mission College Blvd., Santa Clara, CA 95054. + Also at the University of Wisconsin, Madison, WI 53706. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the VLDB copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Very Large Data Base Endowment. To copy otherwise, or to republish, requires a fee and/or special permission from the Endowment. Proceedings of the 26th International Conference on Very Large Databases, Cairo, Egypt, 2000