A third scenario in which IMS Connect can work indirectly with RRS is when a transaction submitted by IMS Connect to IMS is processed by an IMS application in an IMS dependent region, and that application invokes another resource manager, at which time RRS becomes involved again. An example of this scenario is when an IMS application invokes a protected Advanced Program-to-Program Communications (APPC) outbound allocate call.
The remainder of this article provides some tips for using RRS, IMS Connect, and IMS.
Timeout Values for J2EE Client Applications
To coordinate a global transaction, a Java 2 Enterprise Edition (J2EE)-compliant application server, such as IBM WebSphere Application Server, uses a Java transaction manager to communi- cate with the client application components and the resource managers, such as IMS, through resource adapters, such as the IMS TM resource adapter.
If a resource manager takes too long to implement the changes requested in the transaction submitted by the client application, or if the transaction involves many resource managers, the client application can appear hung. To prevent excessive wait times or hung client applications, set a timeout value for your client applications that’s acceptable to your installation. Remember, however, that if your timeout value is too short, and IMS processes a message on its queues from a client that has already timed out, the IMS application running in the dependent region could abend.
Alternatively, designing your transactions to involve fewer resource managers also can reduce wait times for client applications.
Create More IMS-Dependent Regions When Using RRS
Updates to IMS databases are performed by application programs running in IMS-dependent regions. If an IMS application program is updating a database at the request of an RRS-managed transaction, then the application program remains scheduled in the dependent region for the duration of the RRS two-phase commit process, which may or may not be delayed by other participating subsystems. While an application program remains scheduled in a dependent region, the dependent region has a WAIT-RRS status and the application program can’t process other transactions.
Defining additional IMS-dependent regions can increase the transaction throughput rate by reducing the likelihood that subsequent transactions will have to wait for an application program to be scheduled in a free dependent region.