IBM Information Management System (IMS) and the IMS application programs it runs have been serving its customers well for a long time. Your IMS application programs are likely a core asset of your business. If you were to calculate the true value of your IMS application programs to your business—including the investment made in them over the years and the savings their continued use represents compared to the costs and risks of replacing them—the value would be huge.
To keep reaping dividends from your IMS applications and avoid the steep costs and significant risks inherent in any attempt at wholesale application modernization, you can integrate your IMS application programs with the modern, service-oriented world using one of the many options for integration now available. Free, downloadable options such as the IMS TM Resource Adapter have been around awhile and can provide traditional client/server access to IMS and IMS applications. For example, a client sends a request to IMS, IMS application programs process the request as a transaction, and then update or return the requested data. Some of these same options, and newer ones, such as the IMS Web 2.0 solutions, can be used to configure your IMS applications as Web service providers, where the IMS application programs process requests from the Web and even provide data through methods such as Really Simple Syndication (RSS) feeds, without requiring significant changes to the IMS application programs themselves.
New enhancements to IMS, coupled with some of these options, such as the IMS Enterprise Suite SOAP Gateway, let you configure your IMS application programs as Web service consumers, where an IMS application program can issue a callout request to an external provider for services or data.
The remainder of this article provides detailed information about the latest callout enhancements that let your IMS application programs retrieve data synchronously from external sources; also covered are the other options available for integrating your IMS application programs with modern, service-oriented environments.
Calling Out From IMS Applications
In the context of IMS, a callout request is a request issued by an IMS application program for data or services from another source, such as applications and Web services running externally to IMS.
You’ve always been able to write IMS application programs that handle the callout requests themselves, but to do so requires manually coding and managing the communication interface calls to TCP/IP or Advanced Program-to-Program Communication (APPC) and correlating responses to the original request. Moreover, if your application program waits for a synchronous response, you bear the responsibility for tying up IMS resources in an IMS-dependent region while the application waits for its response.
IMS Version 10 introduced support for asynchronous and synchronous callout requests. Support for IMS callout requests is provided by the following IMS components and tools, all of which are delivered with IMS at no charge or are free to download:
- Open Transaction Manager Access (OTMA), a component of IMS that provides a transaction-based, connectionless client/server protocol
- IMS Connect, a component of IMS that functions as an integrated TCP/IP server and gateway to IMS
- IMS TM Resource Adapter, a free tool that connects Java application programs to IMS transactions through IMS Connect
- IMS Enterprise Suite Soap Gateway, a free tool that manages the SOAP protocol for IMS.
When issuing an asynchronous callout request, the IMS application program doesn’t wait for a response. That’s beneficial because as soon as the callout request is issued, the requesting application program can process other transactions or terminate altogether, freeing the dependent region resources. Any responses must return to IMS as a new transaction; your application program will need to correlate the response to the original request.
When making a synchronous callout request, the IMS application program waits for the response in the dependent region and processes it as a part of the same transaction or unit of work. You and your IMS application program don’t need to worry about correlating the response.