Cloud Computing Conference
March 30 - April 1, New York
Register Today and SAVE !..


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TODAY'S TOP SOA & WEBSERVICES LINKS


David & Goliath: A Comparison Of XML-Enabled And Native XML Data Management Techniques
A comparison of XML-enabled and native XML data management techniques

Query with XPath:
Select c.extract('/cliente').getStringVal() from clientes c;

Query with several tables:
select extract(c.object_value, '/cliente').
getStringval() "clientes", extract(cu.
object_value, '/cuenta').getStringval()
"cuentas" from clientes c, cuentas cu
where extractvalue(cu.object_value, '/
cuenta@cliente-id') = extractvalue(c.
object_value, '/cliente@id');

Eliminate:
delete from clientes where
extractvalue(object_value,'/
cliente@id')='0011010';

The XMLType also allows structured data to be stored as objects. This is similar to XSU object stores, and for this reason we do not consider it further here.

XSU
The XML SQL Utility is a set of APIs that support operations between XML documents and relational databases. It is possible to build an XML document from an SQL query, and to insert, update, and delete a relational data table from an XML document. To store XML documents in relational tables it is necessary to map the document nodes to a relational table format. So, XML-enablement allows getting XML documents from SQL queries (no new knowledge required) that can be formatted with XSL to any client application format.

Sometimes however, it is not so easy to build an RDBMS structure that matches an XML document. This is because XML documents are hierarchical and may have a dynamic structure that can change easily. In this case, we would need to rebuild the XML document with its structure each time we query the database.

Two storage and retrieval methods are possible for XSU: object-relational table storage (information stored in defined types), and relational table storage (data is stored in a relational table).

We implement both solutions to investigate their implications in code development, and the differences between structure creation and response times.

XSU does not support attribute nodes and element nodes with more than one occurrence in the same level. In the first case we should have to transform attributes in element nodes, for example <client id="001001"> would be <client> <id>001001</id>. In the second case, we would need to fragment the document, thus inserting the part into various tables. There would be an XSU instance to insert each document into its corresponding table. We use XSLT stylesheets to transform each document into the appropriate format before writing it to the database.

With XSU object-relational table storage, information is stored in defined types according to the structure shown in Figure 2.

  • The table contains an object.
  • The objects contain data.
  • XML hierarchical structure is maintained.
Using XSU relational table storage information is stored in a relational table in accordance with the structure shown in Figure 3.
  • The table contains data. The objects are empty.
  • There is no any hierarchical structure. Structure is built when selected (using objects).
Using the XSU table solution, only one nesting level after root element is allowed. All elements are in the same level.

We can only represent one nesting level. Response time is elevated more than with the previous case. In the selected approach we have to rebuild the XML document's initial hierarchical structure, thereby creating the objects dynamically with data from the table.

If we have the structure stored in objects it is easier to retrieve XML documents in their initial hierarchy format. XSU (XML-SQL Utility) give us the following functionalities.

  • It converts a relational query to XML. Column names would be element names in the document; by default ROW is the element root and there are as many ROW elements as there are rows needed to retrieve the query. These ROW and ROWSET names can be customized through XSU methods respectively (setRowTag(String tagname) and setRowsetTag(String tagname)).
  • When using XML documents it is possible to insert, update, and delete data from relational tables according to certain rules. For example, "SELECT * FROM CLIENTE" in XML would be:

    <?xml version = '1.0'?>
    <ROWSET>
    <ROW num="1">
    <ID>001</ID>
    <NOMBRE>Pablo</NOMBRE>
    <APELLIDO>Nocedal Renovales</APELLIDO>
    <CIUDAD>Sopuerta</CIUDAD>
    ........
    <EMAIL>pnocedal@eteo.mondragon.edu</EMAIL>
    </ROW>
    <!-- filas adicionales ... -->
    </ROWSET>
We have used Java as a programming language. XSU needs JDBC connectivity interfaces and Oracle's XML parser. The following classes provide this functionality.

OracleXMLQuery qry = new OracleXMLQuery(conn, "select * from cliente");

About Ainhoa Serna
Ainhoa Serna is lecturer in the department of Informatics at ETEO (Mondragon Unibertsitatea). She has also worked as Project Leader at engineering and Research projects since 1995. Her research work is focused on XML.

About Jon Kepa Gerrikagoitia
Jon Kepa Gerrikagoitia is lecturer in the department of Informatics at ETEO (Mondragon Unibertsitatea). He has participated in a European Research Project and engineering projects in the last 10 years. His research work is focused on XML Web Services.

YOUR FEEDBACK
Mada Peña wrote: Maravilloso estudio. Me ha ayudado mucho en los desarrollos Web que realizo.
Mike Forrester wrote: It seems impossible that eXist can obtain better performace than Oracle in certain cases. This kind of research is really good for companies and IT Managers.
Joe Trimble wrote: Great job ! I´ve enjoyed it, because I find it really interesting & helpfull.
Ainhoa Serna; Jon Kepa Gerrikagoitia wrote: David & Goliath: A Comparison Of XML-Enabled And Native XML Data Management Techniques. Due to the great increase of data in XML format, companies increasingly have to face the issue of how to manage this data efficiently. To do this it is important to take advantage of XML's potential, and to integrate with applications that access data stored in relational database management systems (RDBMS).
XML JOURNAL LATEST STORIES . . .
A few years ago, a British newspaper speculated on what might be the Web equivalent of the Seven Wonders of the World, and received suggestions that were hardly surprising: Google search, the Amazon.com e-tail portal, the eBay auction mechanism, etc. But that was back in 1991, before F...
A round-up of the many themes and topics of interest to infrastructure architects, developers and IT managers featuring at SYS-CON's Cloud Computing Expo being held November 19-21, 2008 at The Fairmont Hotel in San Jose, California. The conference is expecting a record turnout of senio...
SYS-CON Events announced today that the leading global SOA, Virtualization, Cloud Computing and Open Source technology provider FreedomOSS named "Gold Sponsor" of SYS-CON's SOA World Conference & Expo which will take place November 19-21, 2008, at the Fairmont Hotel in the heart of Sil...
Cloud Computing offers significant benefits over traditional solutions for deploying production systems as well as for conducting development and testing activities. This session will distill the unique characteristics of clouds and describe how to best think about deployments in the c...
Intel has just released Intel XML Software Suite 1.2. This latest release helps maximize XML performance, while minimizing the effort for any Enterprise, SOA, SaaS, and Web 2.0 based applications. Intel XML Software Suite 1.2 optimizes XML application performance, takes full advantage ...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS


ADS BY GOOGLE