Superior Data Integration and Conversion
Querying SQL Server relational databases as XML just got a whole lot easier. With the XML Pipeline Server™, developers treat relational data in SQL Server tables and views as XML, making querying, publishing, reporting – and even updating – relational data a snap.
he XML Pipeline Server™ runs on any Java platform, and is easily embeddable into almost any Java program. The XML Pipeline Server™ supports multiple versions of SQL Server database including:
- Microsoft SQL Server 2008
- Microsoft SQL Server 2005
- Microsoft SQL Server 2000
- Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)
- Microsoft SQL Server 2000 Enterprise Edition (64-Bit)
Efficient Query Execution
SQL Server relational databases often hold massive amounts of data, so the XML Pipeline Server uses a very efficient way to query them – but hides this from the query author.
- To the XML Pipeline Server, a table looks like an XML document
- To the SQL Server relational database, a XML Pipeline Server XQuery looks like efficient SQL
Data is not extracted in order to query it; instead, the XML Pipeline Server generates SQL and executes that SQL on the server, enabling developers to retrieve just the data needed to construct the results for a given XML Pipeline Server XQuery.SQL Optimizations
One key advantage of XML Pipeline Server is that it decomposes XQuery and translates it to SQL. The benefits of such a translation, of course, are enormous, especially in terms of the performance and efficiency with which XQuery applications will run. Once converted to SQL, XML Pipeline Server pushes the query to the SQL Server database server for execution. In the database environment, the SQL is able to take advantages of the SQL Server database’s indexes and primary key/foreign key relationships, speeding data access and retrieval.
Other products are unable to convert XQuery to SQL, leaving them with no choice but to fetch the entire table from the SQL Server database and return it to the client side, for conversion, in its entirety, to XML. This might work fine with trivial queries or very small relational tables, but it is not an approach that scales, or even one that offers reasonable performance for real-world data integration and aggregation.
XML Optimizations
Query results are returned to XML Pipeline Server as tabular data for conversion to XML. Once converted to XML, XML Pipeline Server uses data streaming and document projection technologies to focus on only those elements and attributes that are relevant to the query, minimizing in-memory processing. This approach allows for fast and efficient processing of very large XML documents (1 gigabyte and larger!). Relational joins and other complex query structures pose no problem for the XML Pipeline Server processor.
Easy SQL Server Database Connectivity
With XML Pipeline Server, configuring and connecting to an SQL Server server is easy. The XML Pipeline Server integrated development environment quickly defines server configurations and connects to that server, using a simple dialog box like the one shown here:
And it’s easy to create and reuse default database connections, too. Even without an XML IDE like XML Pipeline Server, defining SQL Server database connections is easily accomplished using the XML Pipeline Server API for Java (XQJ), whose interfaces are implemented by XML Pipeline Server. Developers simply need to define data source and connection expressions in the Java application, as shown in the following code sample:
Transparent Access to SQL Server Relational Data as XML
Once developers have connected to an SQL Server relational data source, XML Pipeline Server makes it easy to automatically create XQuery code. Using XML Pipeline Server, for example, just drag and drop a table from the File Explorer window, exposing all the tables from that tablespace as potential data sources. Next, drag the desired table to query and drop it on the XQuery Source tab – XML Pipeline Server automatically creates perfect XQuery code based on the chosen table. These easy steps are summarized in the following illustration:
And when done building and testing XQuery code, XML Pipeline Server quickly generates Java code that can be embedded in a Java application!