Application-embedded execution model
The mechanism that is used for this model is basically the same as the one providing runtime instructions for a map's execution from the command prompt. Overrides are submitted to control the map's execution. The difference is that these overrides are programmatically supplied, in memory, rather than on the command line. However, even under IBM® Sterling Transformation Extender Command Server execution, the overrides specified on the command line are passed by the Command Server, in memory, to the core execution code, which is embodied in the various APIs. Note that, regardless of the execution model employed, the same underlying IBM Sterling Transformation Extender technology prevails.
The benefit of embedding a map within an application is that all of the power of the standardized transformation and connectivity capabilities of the IBM Sterling Transformation Extender products can be fully leveraged. Rather than needing to write Java, C, or C# code to perform complex transformation, connectivity, and routing, maps can be fully leveraged to perform these tasks. Again, as with other execution models, the same inherent IBM Sterling Transformation Extender technology components are used: maps. This means that a more unified skill set is applicable across all integration models, thereby reducing the overhead of writing the code to perform transformation, routing, and connectivity to a minimum. This allows more time to concentrate efforts upon developing the business logic in the application layer code, resulting in a much quicker implementation. In addition, because the source components, such as schemas and map source files, are not procedural code listings, but rather visual, object-based components, the ongoing maintenance of these components is more straightforward, using the extensive capabilities provided by the Design Server.
APIs are provided for the following applications:
C applications
IBM Sterling Transformation Extender includes two APIs available to C programmers: the TX Programming Interface and the z/OS Platform API. Customers creating new applications should use the TX Programming Interface, C API. The z/OS Platform API continues to be supported for legacy applications. However, any new features or functionality will be available only in the TX Programming Interface, C API.
Java applications
There are several ways in which a Java application can run a map:
- By using the TX Programming Interface Java API
- By using the TX Programming Interface
RMI API
With the RMI API, a map (and the underlying native core code) can be executed out of process. Also, with RMI, IBM Sterling Transformation Extender can run on any platform that supports the Java RMI API. (And this is not necessarily the same platform as the ones upon which Java Application Servers run.) This enables maps to be executed by an Enterprise JavaBean containing business logic and subsequently to be deployed to an application server. Examples of this are provided .
Java-based applications that invoke a map through the API can also take advantage of using the Java Class Adapter to access additional Java objects. For EJB functionality, access to serializable objects is supported. From the user's Java Application or EJB, objects are serialized using Java Serialization and passed (using a STREAM adapter override) to input cards of a map. Within the map, the Java Class adapter can be used to deserialize an object (and store it in the Object Pool). Access to fields and methods on Objects stored in the Object Pool is permitted using the Java Class adapter. (Objects are also accessible using the JNDI and JMS adapters.) To pass objects back to the user's application from a map, objects are serialized using the Java Class adapter. The resulting byte[] is passed back to the calling EJB using a STREAM adapter override. The Java application or EJB re-constructs the Object using Java Serialization.
COM applications
For customers using Microsoft's Component Object Model (COM) technology, the IBM Sterling Transformation Extender Programming Interface (TXPI) for COM provides the functionality to run an IBM Sterling Transformation Extender map from scripting languages such as VBScript and Jscript. This also allows IBM Sterling Transformation Extender maps to be executed from Active Server Pages.
C# applications
Using the TX Programming Interface, COM API, and the interoperability library provided in the Software Development Kit (SDK) examples, a C# application running on .NET can also run an IBM Sterling Transformation Extender map for transformation.
J2EE applications
Java 2 Platform, Enterprise Edition (J2EE) defines the standard for developing component-based, multi-tier, enterprise applications. Applications built using J2EE can use the various Java-based APIs described.