The XQuare project: integrating XQuery and J2EE technologies


The XQuare project provides a set of Java components for extending J2EE platforms with XML-based, heterogeneous information integration capabilities, using the XQuery language. The XQuare components allow enterprise information stored in a large variety of data sources to be accessed in real-time and shared as uniform XML views, ready for further filtering, processing and publishing. Incoming XML data can also be stored directly in relational databases, without the need to transform it first into procedural API calls (such as JDBC) or Java objects.

The XQuare components are designed to be embedded into Java-based Web or application servers, and rely on the standard J2EE services for exchanging, processing and publishing XML information. By adding to those services a new configurable data integration service, able to collect in real-time business information in distributed, heterogeneous data sources, the XQuare components can help dramatically reduce development costs for applications such as enterprise portals, B2B information exchange automation, database publishing...

XQuare components

The XQuare project has released two runtime components:

  • XQuare Bridge: XQuare Bridge expands existing relational database functionalities with advanced XML import/export capabilities. Using a powerful mapping language, it can perform efficient insertion of structured XML data into existing relational tables, while taking into account the database integrity constraints and transforming the implicit relations appearing in the XML document into explicit ones in the database. It also supports flexible extraction and publishing of relational data into any target XML format, using the XQuery language.
  • XQuare Fusion: XQuare Fusion is a powerful information integration engine for querying in real-time multiple, heterogeneous and distributed data sources. Using XML-based data sources federation, it presents to applications a single, uniform XML view of all business information, which can then be queried with XQuery to produce XML documents. Accessible data sources include relational databases (through the XQuare Bridge component), XML documents, Web Services and potentially much more, including XQuery-enabled data sources and JCA connectors.

Both components are distributed as JAR files, easily embeddable in J2EE application servers. They use the same XML/DBC Java API for acessing and querying data sources. XML/DBC is directly derived from the standard JDBC API for accessing relational databases, but uses XQuery instead of SQL as query language, and the JAXP APIs for processing XML documents and query results. XML documents and query results validation and typing is performed with a fully compliant XML Schema processor.

Development tools

The XQuare project will also provide development tools, to support the configuration of the XQuare runtime components:

  • XQuare Map Editor: A graphical tool to visually construct a mapping between a source XML Schema and a target relational model. The resulting mapping can be stored in an XML document and used by XQuare Bridge to insert XML documents conformant to the source schema into the target database.
  • XQuare Fusion Console: A graphical tool to visually configure data sources for use by XQuare Fusion. This tool is also a workbench taht can be used to test and tune XQuery queries for a given data sources configuration.

Both tools are still in under development. Further development, as well as integration as Eclipse plug-ins, is expected to happen in the coming months.

Why XQuare ?

XQuare stands for XQuery Advanced Runtime Environment.