« Movie hat-trick | Main | NEWSFLASH: Dog eats Sky+ remote control - again »

Transforming in Wales

April 22, 2006
Keywords:

wales.jpgI was in a bit of a pickle: a planned training session in Wales (5 hours drive away) but a heavily pregnant wife at home refusing me being away over night.

So I squeezed it all into a single day. Up at 4am, in Bangor 8:30am, training session 9 to 5 and back in London after 10pm with some 540 miles more on the old odometer.

ETL Solutions was demoing their Transformation Manager (TM) application for data transformations with generate Java code.

It turned out to be a very powerful tool both for the initial mapping between a source model and a destination model and for running the transformations.

Supported models are XML schemas (xsd), Document Type Definitions (DTD), partial XML data, Java objects, RDBMS and a multitude of flat files.

Data transformations are a two step process:
1. visually create a mapping between a source model and a destination model and let TM generate Java code to do the transformations
2. Deploy the generated code and integrate into your application with 5-6 lines of code.

The visual mapping included drag-and-dropping of elements between the source and destination. In addition, TM is using a powerful modeling language (SML) for more advanced mappings.

The tool originated from a requirement of migrating data between Oracle databases which is evident from the strong DB support. Included are operations for transaction management and batch operations for optimisation tweaking.

The tool then evolved by supporting additional data models and by the addition of various transformation functions (financial, mathematical and similar).

The only thing I was missing was the support for XSL output when converting between two XML schemas.

I find XSL to be more portable than Java classes but when asked to specify a scenario where our company would not be able to use Java classes for a transformation, I was not able to.



Comments

  1. (No comments yet)

Post a Comment

 *

 *

 
Remember Me?

* (you may use HTML tags for style)