Callout request approaches
You can issue a callout request to IMS Enterprise Suite SOAP Gateway, IMS TM Resource Adapter, IBM® MQ, to your own user-supplied IMS Connect client applications, or to another IMS application program.
Using SOAP Gateway
Use SOAP Gateway to issue callout requests from IMS applications to any generic web service.
SOAP Gateway enables IMS applications as either web service providers or consumers. SOAP Gateway supports both asynchronous and synchronous callout approaches for IMS applications as web service consumers. Tooling support for SOAP Gateway is available in IBM Developer for System z® for generating the required web service artifacts based on connection and interaction information for communicating with IMS Connect, and the language structure of the IMS applications. SOAP Gateway also provides a deployment utility to support the deployment of IMS applications as either providers or consumers of web services.
For SOAP Gateway
messages, you can specify an XML converter name in the control data by using the tags
<DFSCNVTR>CONVERTER_NAME</DFSCNVTR>
. The converter
name and the tags must be in uppercase EBCDIC. If the converter name is present, it overrides the
current converter name that IMS Connect would have used to
process the message. As soon as the converter name is extracted, no further scanning of the tags
will take place for that message. The tags that contain the XML converter name are not removed from
the control data and are sent to SOAP Gateway with any other tags that are present
in the control data.
Total Length = 4 + 10 + 8 + 11 + 4 + 9 + 25 + 10 = 81 = X'51'
AIBOPLEN = X'00000051'
Control Data = X'00000021' <DFSCNVTR>CONVERT1</DFSCNVTR> X'00000030'
<USERTAG>USER DATA CAN BE ANYTHING</USERTAG>
For more information about enabling IMS application callout through SOAP Gateway, see Enabling an IMS application as a web service consumer.
Using IMS TM Resource Adapter
Use IMS TM Resource Adapter Version 10 or later to issue synchronous or asynchronous callout requests from IMS applications to any message-driven bean (MDB), Enterprise JavaBeans (EJB) component, Java™ EE (previously known as J2EE) application, or web service.
IMS TM Resource Adapter enables Java EE applications to access IMS transactions over the Internet, as well as to issue callout requests to external Java EE applications from IMS applications that run in IMS dependent regions. The IMS TM Resource Adapter includes a runtime component for WebSphere® Application Server. Tooling support for the IMS TM Resource Adapter is available in IBM Rational® Application Developer for WebSphere Software, as well as various Rational and WebSphere integrated development environments (IDEs) that include the J2EE Connector (J2C) wizard.
For more information about callout support in IMS TM Resource Adapter, see Callout programming models.
Using IBM MQ
You can write applications that make asynchronous callout requests to other applications via IBM MQ. You must configure the IBM MQ to IMS bridge.
You must also create a destination descriptor for IBM MQ with TYPE=MQSERIES. You can either add the descriptor to the DFSYDTx member of the IMS PROCLIB data set, or add it with the CREATE OTMADESC command. The OTMA routing exits (DFSYPRX0 and DFSYDRU0) are not required.
The destination descriptor type for IBM MQ includes parameters that you can use to customize the fields of the MQMD data structure. The MQMD structure controls how IBM MQ processes messages that use the descriptor.
Using a user-written IMS Connect TCP/IP application
You can write your own IMS Connect TCP/IP applications or use a vendor-supplied solution that uses TCP/IP and the IMS Connect protocol to retrieve callout requests. Your custom IMS Connect client application must issue a RESUME TPIPE call to an OTMA routing destination, also known as a transaction pipe (tpipe), that is defined in an OTMA destination descriptor. This tpipe holds the callout requests. Your custom IMS Connect TCP/IP application must poll the tpipe to retrieve the callout requests.
Using IMS synchronous program switch requests
You can use the ICAL call to send a request to another IMS application by creating a destination descriptor with TYPE=IMSTRAN. This type of callout request is a synchronous program switch.
The IMSTRAN descriptor type specifies the destination transaction, and can also be used to create a late response message queue. You can either add the descriptor to the DFSYDTx member of the IMS PROCLIB data set, or add it with the CREATE OTMADESC command. Multiple synchronous program switch requests can be chained together if the destination application also issues an ICAL call for synchronous program switch.
OTMA is not required to use the ICAL call for synchronous program switching. You must define an OTMA destination descriptor for the destination transaction, but IMS schedules the transaction whether or not OTMA is active.
Control data is not supported for synchronous program switch requests.
Using the Java dependent region resource adapter
The Java dependent region resource adapter supports the Java Message Service (JMS) interface that can be used by Java applications for the same functionality in Java dependent regions.
IMS™ provides a set of Java™ APIs called the IMS Java dependent region resource adapter to develop Java applications to run on the IMS Java dependent regions.
The IMS Java dependent region resource adapter provides Java application programs running in JMP or JBP regions with similar DL/I functionality to that provided in message processing program (MPP) and non-message driven BMP regions, such as:
- Accessing IMS message queues to read and write messages
- Performing program switches
- Commit and rollback processing
- Accessing GSAM databases
- Database recovery (CHKP/XRST)
IMS transactions written in Java and leveraging the IMS Universal Java dependent region (JDR) resource adapter can issue ICAL calls that include control data. The JDR resource adapter invokes the Universal Drivers C library (DFSCLIBU) through Java Native Interface (JNI) calls to issue the calls from C to the AIBTDLI interface with the ICAL information.
Use the IMS Java dependent region resource adapter together with the type-2 IMS Universal JDBC driver or type-2 IMS Universal DL/I driver to perform database operations, including GSAM database access.