XMLToaster 1.0.12

XMLToaster is an XML to database persistence framework.

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!
send us
an update
GPL (GNU General Public License) 
2.9/5 18
Steve W.
ROOT \ Text Editing&Processing \ Markup
XMLToaster is an XML to database persistence framework. XMLToaster allows you to generate XML from a relational database using a simple SQL select like statement and persist XML to a database using a powerful mapping script.

Here are some key features of "XMLToaster":

Simple XML message generation from a database.
In situations where you just want to generate XML quickly and easily, an XMLToaster solution can have you up and running in a matter of minutes.
Quick and easy persistance of XML messages to the database without the traditional coding overhead. It specialises in handling very complex mappings of XML to tables.
In an SOA messaging environment, it promots loose coupling between a service contract and database implementation in an SOA environment.

It can be used to provide arbitrary message transformation from a canonical schema to a database without having to write and maintain XLST.

Technical Overview
XMLToaster uses an SQL-style select statement syntax (that developers will already be familiar with) to generate XML from a relational database that has JDBC driver support. It also uses an elementary XML script to allow you to persist your XML back into a relational database.
You can use the XMLToaster classes from within a Java program or run scripts directly from the command line. Running XMLToaster from the command line allows you to easily test your scripts and also process XML from a non-Java program.
When generating XML you can either select directly into an arbitrary structure or select using an XML Schema definition. When using a schema any mandatory elements that you do not populate will automatically be created.

What XMLToaster Isn't

XMLToaster has not been designed for Object-to-Relational (ORM) mapping, which technologies such as Hibernate excel at. These technologies are naturally persistence solutions for objects in the context of an application, for example saving the state of a POJO or an EJB in a relational database. If this is what you need to do then XMLToaster won't fit your needs.

XMLToaster In An SOA Environment

One of the main goals of SOA is to create reusable services which are as loosely coupled as possible. Coupling in SOA can occur between many different aspects of services, especially between the service contract and the implementation environment, that is; between the service definition and the relational database that message data will be persisted into.

This is typically because current mapping of XML messages to the database rely on transforming the message objects through ORM technologies.

Object relational mapping has inherent limitations due to the nature of aligning the network structures of relational databases with the hierachical structures of the XML and object-orientated world.

The compromises can make sense when your object model is supporting local application functionality, but in an SOA environment ORM - with its potential tight-coupling side effects on the service definition - is harder to justify because pure data is being transported as XML messages through services that are shared by many disparate applications.

XMLToaster allows much more flexible binding of XML messages to the database and gives the service designer the freedom to design the service contract (operations and message objects) without having to worry about the physical database implementation.

It also gives the service implementer the freedom to implement the service without recourse to lots of data transformations which will hinder maintainability of the service when the physical database structure changes.

You are freed up from writing (and maintaining) reams of XML transformation scripts. This is because you can work directly with your canonical data model - there is no need to generate an XML structure that just reflects your database tables and then transform this into the canonical data model.

Being an SQL based mapping has other benefits

The attributes within a single XML object can be mapped into multiple database tables
Retrievals are extremely flexible and powerful. The only limitation is your ability to define the SQL
In current solutions performance can be a real issue when constructing the resultset from the search. For example a resultset of only one hundred parents, each with three child objects, would need to perform over 300 singleton select statements against the database! XMLToaster uses relational set processing to let the database do what it is designed to do - only one query gets executed against the database and the performance is an order of magnitude faster.

Last updated on July 12th, 2008

#XML toaster #database framework #persistence framework #XML #database #persistence #framework

Add your review!