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 HCL Link 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 HCL Link 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 HCL Link 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 HCL Link 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

HCL Link includes two APIs available to C programmers: the Integration Platform Programming Interface and the z/OS Platform API. Customers creating new applications should use the Integration Platform 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 Integration Platform Programming Interface, C API.

Java applications

There are several ways in which a Java application can run a map:

  • By using the Integration Platform Programming Interface Java API
  • By using the Integration Platform 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, HCL Link 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 HCL Link Programming Interface (Integration PlatformPI) for COM provides the functionality to run an HCL Link map from scripting languages such as VBScript and Jscript. This also allows HCL Link maps to be executed from Active Server Pages.

C# applications

Using the Integration Platform 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 HCL Link 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.