The integrated IMS Connect function of IMS, IBM’s premiere hierarchical database management system and transaction processor, provides TCP/IP connectivity to the Transaction Manager component of IMS. IMS Connect provides TCP/IP socket management and message conversion capabilities that let TCP/IP client applications submit transactions and commands to IMS.
The z/OS Resource Recovery Services (RRS) is a sync point manager. It uses a two-phase commit protocol to coordinate the commitment or rollback of changes to the protected resources of multiple subsystems so changes are made in all subsystems or no subsystems and data integrity is ensured (see Figure 1).
The scope of an RRS transaction is contained in a Unit of Recovery (UR). All updates to resources contained in a UR are either committed across all participating subsystems, referred to as resource managers, or are all backed out across all participating subsystems.
From an RRS perspective, an IMS subsystem is a data resource manager. That is, IMS manages the protected data resources and performs the actual commitment or rollback of changes as RRS directs. However, the IMS Connect function, which communicates with RRS independently from IMS, also can serve as a communication resource manager and can take on the role of a Server Distributed Syncpoint Resource Manager (SDSRM). When a resource manager takes the role of SDSRM, the SDSRM decides when all participating subsystems commit their changes instead of RRS.
RRS uses the z/OS system logger to store information about the active URs and the participating resource managers in logs on a coupling facility, which is periodically offloaded to disk.
IMS Connect and RRS
IMS Connect and RRS provide support for two basic transaction types: global transactions and local transactions. The first is for a global transaction that could involve multiple IMS systems. A global transaction is a unit of work in a distributed transaction processing environment that requires the participation of multiple resource managers. For IMS Connect to process global transactions using RRS, the transaction messages must be defined with a sync level of sync point (see Figure 2).
For IMS Connect to process local transactions that have a sync level of NONE or CONFIRM with RRS, the IMS OTMA synchronous shared queues function must be enabled (see Figure 3).