Jimmy Hua Jong-Seo Lee Adam Dukovich Michael Huffman
“the technique of converting records in a relational database into objects in an object-oriented programming environment.” Patrick Connor Linskey and Marc Prud'hommeaux Benefits Need not to know about database management ORM is in a language familiar to programmers Ease of maintenance Used by many companies such as Intuit, IBM, Microsoft, Google, and more.
Structure which contains information about the relationship of data items Is semi-structured data 80% of the web is semi-structure data Use XPath and XQuery to access in a native XML database
A Java library that can store, retrieve and query object data in a native XML database has been an important issue. This tool will offer the efficient way of manipulating XML database in Java programming environment.
Hibernate XML, Hyperjaxb, and JaxMe No feature able to directly convert Java Object to and from XML database Data are not saved as XML databases but instead as relational DBMS Selection of technology never intended for use with XML databases Incomplete manual, feeble code base, and poor control of XML data manipulation
Persistence of any Java object into a native XML database Concise APIs for XML database manipulation Local databases through the XML:DB API Persistence API for XML data binding and querying Support for issuing XPath queries, returning results as typed Java objects
Existing Components Database - we used eXist, an open source native XML database. XStream – we used this component for serializing Java objects to XML, and vice versa. New Components JOXM - this was the part we implemented. JOXM includes the code responsible for much of the administrative aspects of the program in general.
Our goal to create an XML equivalent to Hibernate was successful Some possible future work: Allow users to issue XQuery queries to the database, XPath interpreter for the Hibernate Query Language (HQL) Transaction management Provide support for the XQuery Update Facility (XQUF)
[1] "Hibernate - Relational Persistence for Java and.NET." Red Hat Middleware, LLC. [2] Begoli, Edmund. "Hibernate 3 Adds XML-Relational Persistence." Jupitermedia Corporation. [3] "Hyperjaxb3 - Relational Persistence for JAXB Objects." CollabNet. [4] "JAXB: JAXB Reference Implementation." CollabNet. [5] "Welcome to JaxME 2." Apache Software Foundation. [6] Boag, Scott, Don Chamberlin, Mary F. Fernández, Daniela Florescu, Jonathan Robie and Jérôme Siméon. "XQuery 1.0: An XML Query Language." 23 Jan W3C. [7] Clark, James and Steve DeRose. "XML Path Language (XPath) Version 1.0." 16 Nov W3C. [8] Staken, Kimbro. "XML Database API Draft." The XML:DB Initiative. < org.sourceforge.net/xapi/xapidraft. html> [9] "The AspectJ Project." The Eclipse Foundation. [10] "UID (Java 2 Platform SE 5.0)." Sun Microsystems, Inc. [11] "Apache Xindice." Apache Software Foundation. [12] "XQuery Update Facility." 11 Jul W3C. [13] "XUpdate - XML Update Language." XML:DB Initiative. [14] "XStream - About XStream." [15] "k5n.us: k5n Desktop Calendar (k5nCal)." k5n.us. [16] "Spring Framework." [17] "Resources for Test Driven Development." JUnit.org [18] Meier, W. "eXist: An Open Source Native XML Database." Darmstadt University of Technology, Technical Report. [19] "eXist: Open Source Native XML Database." 2007.