Scalability
Transformation Manager is designed to be totally scalable. In other words it is capable of moving pieces of data which greatly exceed the available memory of the machine. Data movements that do this are said to be 'streamed' - the source data is read piecemeal and the target data are constructed from it in a piecemeal fashion. However, this is only one use of the TM architecture since it is also possible for TM programs to read complex clouds of data into memory and to operate upon the cloud in its entirety.
Whichever of these two approaches is adopted TM has been highly optimized to ensure that performance is at least as good as hand written code. In SQL, for example, TM automatically invokes very complex JDBC optimizations for almost calls. These are the sort of optimizations that hand coders rarely invoke since they are invoked with a serious risk of mistake. In XML TM is able to take advantage of highly optimized precompiled X-path expressions in Java, thereby usually outperforming lesser technologies, such as XSLT, by a factor of three. Actual performance figures may be seen on the website here.
TM has from the outset been designed to be completely scalable for RDBMS, and with the addition of the Completely Scalable XML, extends that capability to XML instance files as well.
Completely Scalable XML
TM’s scalable XML feature is able to handle XML files of any size. TM processes XML data as it is being read and determines, based on the transform statements, when XML source instance data is no longer required and all related target data has been constructed. As target data is completed, TM writes the results while still processing the incoming XML data.
Model Specific Java Adapter
TM can generate a model specific Java adapter for increased performance as an alternative to the in-built Java adapter which uses Java introspection. This feature is not available with Java fixed run-time.
