IMS Connector for Java
The IMS resource adapter provides many key functions; IMS Connector for Java supports the following features:
- Connection factories for managed and non-managed applications (A connection factory is a uniquely named connection with predefined attributes and is used by application components to connect to an underlying EIS.)
- Connection pooling and reuse of connections
- Transparent connection retry for certain communication exceptions on TCP/IP connections
- Execution timeout, which is the maximum amount of time allowed for IMS Connect to send a message to IMS and receive a response from IMS; the value can be set on a per-interaction basis
- Global transaction support (two-phase commit), which allows applications to coordinate multiple resources such as IMS and DB2 into a single unit of work
- Component-managed and container-managed EIS sign-on
- Runs thread identity for WAS on z/ OS
- Secure Socket Layer (SSL) communication between IMS Connector for Java and IMS Connect
- Shareable and dedicated persistent socket connection with IMS Connect, including when execution timeout occurs
- Commit mode 1 and commit mode 0 IMS transactions, and the retrieval of queued output messages from undelivered commit mode 0 IMS transactions and output to alternate Pool Control Blocks (PCBs)
- Send-only interactions with IMS, where Java applications can run response mode or non-response mode IMS transactions using the value SYNC_SEND for the IMSInteractionVerb property
- Socket timeout, which is the maximum amount of time allowed for IMS Connector for Java to send a message to IMS through IMS Connect and receive a response from IMS Connect
- IMS conversational transaction processing
- Execution of Java applications built from MFS descriptions of input and output messages.
Sysplex Distributor Environment
Today, IBM z/OS operating system customers increasingly depend on the z/OS Sysplex Distributor (SD) to connect front-end client applications to IMS using multiple TCP/IP gateways on multiple servers in a Sysplex environment. SD is a sophisticated connection dispatching technology among the z/OS IP servers. With SD, Java applications using the IMS resource adapter receive the benefits of high availability and workload distribution. The IMS resource adapter can take advantage of the SD environment and use the Workload Manager to access IMS and increase the availability and scalability of transactions. Figure 3 illustrates a client ATM application in a Sysplex environment where there are multiple WAS and each WAS has multiple Servant Regions (SR). Inside each SR, there’s an IMS resource adapter that processes transactions in parallel.
The IMS resource adapter supports shareable persistent socket connections. A shareable persistent socket connection can be used to support the Sysplex distributor configuration. The shareable persistent socket connection supports many types of interaction verbs, including:
- SYNC_SEND for sending a response mode or non-response mode interaction
- SYNC_SEND_RECEIVE for sending an input request and receiving an output response from IMS
- SYNC_RECEIVE_ASYNCOUTPUT_ SINGLE_NOWAIT for retrieving one existing asynchronous output message
- SYNC_RECEIVE_ASYNCOUTPUT_ SINGLE_WAIT for retrieving one asynchronous output message. If there’s no output message at the moment of the request, wait for it until the execution timeout occurs.
Both the SYNC_RECEIVE_ ASYNCOUTPUT_SINGLE_NOWAIT a n d S Y N C _ R E C E I V E _ ASYNCOUTPUT_SINGLE_WAIT verbs currently need to be run within the same application using the same socket connection as the commit mode 0 SYNC_SEND_RECEIVE interaction that queued the output.
Another new feature is the option to control whether undelivered output for IMS commit mode 0 interactions on shareable persistent socket connections is queued or discarded. The options to queue or discard the undelivered output are:
- Purge not deliverable: This option is controlled by the purgeAsyncOutput property of the IMS resource adapter. When this option is set, it informs IMS Connect to purge the IMS commit mode 0 I/O PCB output response if IMS Connect can’t deliver the response to the IMS resource adapter. Also, this option informs IMS to purge the commit mode 0 I/O PCB output response if IMS cannot deliver it to IMS Connect. Purging the undeliverable response ensures that there are no queued messages in the IMS transaction pipes (TPIPE) so the TPIPE storage can be freed during IMS checkpoints and, ultimately, save system resources. This option is especially useful for query types of IMS transactions.
- Reroute not deliverable: This option provides a destination name for undelivered output for commit mode 0 interactions on shareable persistent socket connections. This option is controlled by the reRoute flag and reRouteName properties on the IMS resource adapter. When this option is set, IMS Connect reroutes an undeliverable I/O PCB output response to a special IMS queue with the name as the value defined in the reRouteName property so the output can be retrieved later.
The IMS resource adapter provides many useful functions and features and is invaluable as it allows J2EE client application components and servers to seamlessly integrate and access IMS. With the latest features and additions such as support of shareable persistent socket connections, the IMS resource adapter has increased the availability and scalability of IMS. The modernization of an enterprise information system such as IMS on z/OS strategically relies on the IMS resource adapter.