Skip to main content

Connecting is Easier with the IMS Enterprise Suite Connect APIs

Quddus Chong, IMS Information Development, and Shali Sasidharan, IMS Development

Electrical wires connecting to pole

Developing an IMS™ Connect client appli­cation to access IMS transactions can be daunting for application developers, who might not have all the necessary skills to do so. To implement complex, real-world business scenarios, an IMS Connect ap­plication developer needs specific pro­gramming skills to code an IMS Connect client, including in-depth knowledge of IMS Connect protocols, TCP/IP socket pro­gramming, message and header formats, and how to set header fields.

With the introduction of the new IMS Enterprise Suite Connect API for Java™, application developers need only minimal knowledge of IMS Connect to start devel­oping client applications to communicate with IMS. The Connect API for Java is a simple, easy-to-use, lightweight program­ming solution for communicating with IMS transactions through IMS Connect. Developers can use a high-level program­ming language to write IMS Connect client applications. In addition, developers have the flexibility to run the applications stand­alone, without the overhead of an enter­prise application server environment.

Save time and money

Here’s how the IMS Enterprise Suite Con­nect API for Java can save you develop­ment effort and costs:

  • Lightweight programming solution in Java that is available to download at no additional charge, requires minimal setup, is easy to configure, and does not require any additional tooling.
  • Potential to drastically reduce devel­opment time.
  • Methods for finer-grained program­matic control. One beta customer saved up to 95% of the develop­ment time that would have been needed for a traditional roll-your-own IMS Connect client application with equivalent functionality.
  • Client application developers are shielded from the complexity of the IMS Connect headers and protocols. Developers can use preconfigured values to create connections and interactions instead of setting these values manually.
  • Developers can leverage Java support for code portability, exception handling, and logging. To accelerate development, developers can take advantage of an integrated development environment (IDE) for Java development such as IBM® Rational® Application Developer or IBM Rational Developer for System z®.

Simplify applications

Using the Connect API for Java, client application developers have an easy way to create IMS Connect client applications in Java that can send input request messages to IMS Connect and retrieve response messages for processing. The Connect API for Java internally manages IMS Connect protocol integrity. If an error occurs during an interaction, the API returns an error message in a user-understandable format for debugging.

Figure 1 shows how the Connect API for Java hides the complexity of communication protocols for interactions with IMS Connect behind a simple programming interface.

IMS API for Java

Figure 1. The IMS Enterprise Suite Connect API for Java simplifies client interactions with IMS

The client application sets connection and interaction properties by loading from a profile, or configures the property values programmatically. To perform an interaction, the client application simply issues an execute function call. The interaction types supported by the Connect API for Java include SENDRECV, RESUMETPIPE, and several SENDONLY interaction types.

IMS Connect protocol management

The Connect API for Java handles the work of establishing a connection, creating an IMS Connect input message, sending the input message to IMS Connect, retrieving any output message returned by IMS Connect, and storing the message in a data structure for easy client application retrieval. Behind the scenes, and based on how the interaction is configured, the Connect API for Java can also handle any acknowledgement processing required by the IMS Connect protocol. The Connect API for Java also handles disconnecting from IMS Connect and IMS upon client application request.

Fine-grained programming control

The Connect API for Java also provides application developers with finer-grained control of connection and interaction handling. For example, developers can explicitly connect to and disconnect from IMS Connect; set the length and transaction code for input data; specify settings for the commit mode, synchronization level, different Resume Tpipe processing options, and message routing; and dynamically send negative or positive acknowledgement messages.

Reusable connection and interaction profiles

For added efficiency and flexibility for IMS customers, the Connect API for Java supports profiles. Profiles are plain text files that contain property name-value pairs that can be predefined for specific connection and interaction scenarios and reused to load connection and interaction property values in different application clients. Developers can also configure the connection and interaction properties dynamically in the client by using property-setter methods.

Additional features

The Connect API for Java can issue OTMA-supported IMS commands, as well as the IMS Connect PING and RACF password change commands. Data encryption and client/server authentication with Secure Sockets Layer (SSL) is also supported. To help troubleshoot problems, the Connect API for Java provides support for logging and tracing.

Which IMS communication solution is right for you: the Connect API for Java or the IMS TM resource adapter?

IMS offers two application development solutions for communicating with IMS through IMS Connect: the Connect API for Java and the IMS TM resource adapter. Table 1 highlights the key usage considerations and differences between the two solutions.

Usage Consideration

IMS Enterprise Suite Connect API for Java

IMS TM Resource Adapter

Tools Integration

Standalone solution; does not require any IBM application development tooling or runtime Java application server.

Integrated with the IBM Rational IDEs and WebSphere®.

Runtime Environment

Best suited for developing IMS Connect RYO client applications.

Best suited for a Java Platform, Enterprise Edition (Java EE) environment.

Deployment Method

Deploy the JAR file that contains the API on the Java class path.

Deploy and set up to use Java EE Connector Architecture (JCA) connectivity by using the WebSphere Application Server administrative console.

IMS Connect Functionality Supported

Supports major functions, includ­ing CancelTimer, user-defined clientId, and ResumeTpipe in­teractions (AUTO, NOAUTO, and SINGLE), which are not supported by the IMS TM resource adapter.

Supports all major functions, in­cluding two-phase commit global transactions and synchronous callout, which are not supported by the Connect API for Java.

Cost

No-charge offering.

No-charge offering, but requires WebSphere Application Server.

Connection Management

Does not share connections across applications.

Uses WebSphere Application Server connection management for client application connection sharing.

Table 1: Key usage considerations and differences between the two solutions

Getting your hands on it

The Connect API for Java has been announced and will be available as part of IMS Enterprise Suite Version 1.1. You can download the Connect API for Java from the IMS Connect Web site.

A version of the Connect API for the C programming language will also be available in the future. The code and updated information for the IMS Enterprise Suite Connect API for C will be delivered through the IMS service process. If you are interested in participating as a beta tester for the IMS Enterprise Suite Connect API for C, contact your IBM sales representative or IMS advocate to learn how to get involved.