available. In this section, we survey this new
technology and describe our XLive mediator (see
www.xquark.org for an industrial open source
version).
2.1 Basics and Backgrounds
With the advent of XQuery as a standard for
querying XML collections (XQuery, 2003), several
mediator systems have been developed using
XQuery and XML schema as pivot language and
model. Examples of full XML mediators are the
Enosys XML Integration Platform (EXIP
(Papakonstantinou, 2003),), the Software A.G.
EntireX XML Mediator, the Liquid Data mediator of
BEA derived from EXIP, the e-XMLMedia XML
Mediator, a predecessor of our current XLive project
(Gardarin, 2002).
XML Mediators are focused on supporting the
XQuery query language on XML views of
heterogeneous data sources. The data are integrated
dynamically from multiple information sources.
Queries are used as view definitions. During run-
time, the application issues XML queries against the
views. Queries and views are translated into some
XML algebra and are combined into single algebra
query plans. Sub-queries are sent to local wrappers
that process them locally and return XML results.
Finally, the global query processor evaluates the
result, using appropriate integration and
reconstruction algorithms.
XQuery is a powerful language, which encompasses
SQL and much more. Notably, it is able to query
rich and extensible data types; it is a functional
language, so that any valid expression applied to a
valid expression is a valid query; it will soon
incorporate XQuery Text for full text queries.
XQuery Text shall provide functionalities as single-
word search, phrase search, support for stop words,
search on prefix, postfix, infix, proximity searching,
word normalization, diacritics, ranking and
relevance. All these features will make XQuery an
ideal language for querying in an integrated way
heterogeneous data sources.
2.2 Overview of XLive Mediator
In the XLive project, we use a mediation
architecture to support enterprise information
integration shown in Figure 1. It follows the
classical wrapper-mediator architecture as defined in
(Wiederhold, 1992). The communication between
wrappers and mediator follows a common interface,
which is defined by an applicative Java or Web
service interface named XML/DBC. With
XML/DBC, requests are defined in XQuery and
results are returned in text XML format.
Our architecture is composed of mediators that deal
with distributed XML sources and wrappers that
cope with the heterogeneity of the sources (DBMS,
Web pages, etc.). The XLive mediator is a data
integration middleware managing XML views of
heterogeneous data sources. Using XLive mediator
one can integrate heterogeneous data sources
without replicating their data while the sources
remain autonomous.
XLive mediator is entirely based on W3C standard
technology: XML, XQuery, XML-Schema, SAX,
DOM and SOAP. All information exchanges rely on
XML format. XML-Schema is used for metadata
representation. Wrappers provide schemas to export
information about local data structures. XQuery is
employed for querying both the mediator and the
wrappers. Connectivity of mediator and wrappers
relies on the XML/DBC programming interface, an
extension of JDBC to integrate XQuery. More
information about the XLive mediator can be found
in (Dang-Ngoc, 2003).
3 PROPOSED BENCHMARK
Several benchmarks have been developed for XML
DBMSs, among them XMach-1 (XMach-1, 2001),
XMark (XMark, 2001) , X007 (X007, 2002),
XBench (XBench, 2004). They all have their
interests, but are in general too complex for current
mediators, both in functionality and size. In this
section, we introduce our simpler benchmark.
Web
Interface
Java
Application
Java Application
RDB1
Oracle
RDB2
MySQL
XML DB3
Xyleme
Wrapper Wrapper Wrapper
Mediator
Mediator
Mediator
3.1 Presentation
We propose a simple generic benchmark for testing
the basic functionalities of an XML mediator and
evaluating the performances of the different join
algorithms and indexing schemas of the local
Figure 1: XLive architecture
ICEIS 2005 - DATABASES AND INFORMATION SYSTEMS INTEGRATION
192