University of Twente Student Theses

Login

Object XML mappings

Diepenmaat, J. (2009) Object XML mappings.

[img] PDF
214kB
Abstract:Lots of things changed during the last decade in the behavior and needs of enterprise computer systems. The complexity of systems increased, and therefore the task of building systems gets harder. Many enterprises store their complex data in the popular XML format. This data usually grows both in structure and amount, and gets more and more dicult to handle within software. This thesis explores a new method that makes complex XML data more tractable for developers by using a well understood domain language. We propose an Object XML Mapping mechanism that allows us to map complex structured XML data onto Ruby objects using minimal programming macros. These mapped objects can also contain additional business logic. The Object XML Mapping allows developers to work with complex XML data, in a better understandable way. The Object XML Mapping we propose is based on Pathfinder's[23] relational tree encoding algorithm. This range encoding has proven its applicability for large-scale XML processing as it servers the backbone of the open-source XQuery implementation MonetDB/XQuery[9]. First, we introduce a mapping mechanism that maps macros to a class level object map. This object map denes how XML data is mapped onto the object. Second, we introduce an object instance storage mechanism that merges the object map with XML data to an instance level mapped nodes table. This mapped nodes table holds the XML nodes in Pathnder's relational tree encoding to allow persistent storage straight from object to a relational database. Finally, we introduce a dynamic programming method that can access XML data from the mapped nodes table. A proof of concept demonstrates that we can map a relative complex XML structure in minimal steps. Performance measurements show that the Object XML Mapping mechanism needs minimal system resources.
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science MSc (60300)
Link to this item:https://purl.utwente.nl/essays/59183
Export this item as:BibTeX
EndNote
HTML Citation
Reference Manager

 

Repository Staff Only: item control page