InfoQ

News

C24 Creates Process for XQuery over non-XML without intermediary XML

Posted by Floyd Marinescu on Sep 22, 2006 09:42 AM

Community
Java,
SOA
Topics
Data Access
Tags
XML,
Data Binding,
C24,
XQuery
Financial integration tool vendor C24 has added a unique XQuery optimization to their Integration Objects product that allows full XML XQuery and XSLT capabilities on non-XML documents without the overhead of first converting those non-xml documents into instances of XML.

XQuery is a language written for querying complex XML documents which, it allows you to query data from diverse datasources with the return data automatically aggregated as XML.  The W3C XQuery specification and 8 related specifications (including XSLT 2.0 and XPath 2.0) were submitted to the W3C on June 8th.  All are currently in Candidate Recommendation stage, and it is expected that they will become W3C Proposed Recommendations since the industry has already begun embracing XQuery in their products. BEA uses XQuery in it's AquaLogic suite, as does DataDirect, both treat XQuery as an integration tool - allowing the query across multiple heteogenous sources with XML as output. Even JSR 170/Java Content Repositories use it as their standard query mechanism.

When used for integration, documents are commonly transformed first in to XML and then transformed using XQuery or XSLT before being transformed back into the destination format. This multi-stage processing makes many EAI/ESB/SOA solutions extremely slow and inefficient for transforming non-XML data model formats.

C24 asked Mike Kay (author of the XSLT programmers reference, editor of W3C's XSLT 2.0 specification and founder of Saxonica) to assist in extending C24's Integration Objects's API to include a native XPath 2.0, XSLT 2.0 and XQuery engine that fits into the C24 Integration Objects (C24 IO) modelling and binding tool kit.   This feature enables full XML XQuery and XSLT capabilities on non-XML documents without the overhead of using XML instance documents as the common format, instead, C24's Integration Objects (a Java object representation of the underlying document) is the intermediary, allowing quicker in-memory query performance.  The process is described in more detail in Mike Kay's whitepaper on XQuery (written for C24):
we can apply the XQuery and XSLT directly to the IO object without having to convert it to XML. A SWIFT message can, for example, be transformed without having to pass by an intermediate XML format. This saves time (latency) and complexity in integration. An XQuery could be written to process a comma-delimited file or an XSL transform could be used to display details from a SWIFT message.

1 comment

Reply

Interesting idea by Rod Johnson Posted Sep 22, 2006 11:40 AM
  1. Back to top

    Interesting idea

    Sep 22, 2006 11:40 AM by Rod Johnson

    Interesting. Having had to endure performance and complexity pain with intermediate XML formats in various financial industry projects, I could certainly imagine benefiting from this.

Exclusive Content

Succeeding With Agile: A Guide To Transitioning

Mike Cohn talks about the transitioning process towards an agile organization, why the process is inherently difficult, and what it takes to see self-organization emerging.

Secure Programming with Static Analysis

Creating secure code requires more than just good intentions. Static source code analysis can be used to uncover the kinds of errors that lead directly to vulnerabilities. Brian Chess shows you how.

Developing Portlets using JSF, Ajax, and Seam (Part 1 of 3)

This article covers setting up a new project using JBoss Portlet Container and JBoss Portlet Bridge, configuring a JSF app to use JBoss Portlet Bridge, and JBoss Portlet Bridge capabilities.

John Lam About IronRuby

John Lam, Program Manager on the Dynamic Language Runtime team at Microsoft, talks about IronRuby, what it means to .NET supporters and how it has been received by the Ruby community.

Jerry Cuomo on Virtualization, Cloud Computing and WebSphere Virtual Enterprise

In this interview, Jerry Cuomo talks about Virtualization and Cloud Computing and what IBM is doing in this area with WebSphere Virtual Enterprise to help virtualize middleware and application stack.

Silverlight and Java Interoperability

Robert Bell, Microsoft, introduces interoperability scenarios for using Silverlight from Java and provides architectural guidance using sample code snippets.

Book Review: Applied SOA

Applied SOA is a new book on Service Oriented Architecture written by 4 SOA practitioners that aims at making you successful with your SOA implementation.

Comparing the Cloud: EC2, Mosso, and GoGrid

Learn about the new user experience of cloud computing providers EC2, Mosso, and GoGrid and their differing feature sets.