Adding support for IMS Transaction Isolation Service API
IMS Transaction Isolation Service API is a REST API that runs on z/OS to isolate IMS transactions for debugging.
IMS Transaction Isolation Service API provides POST/GET/ PUT/DELETE methods to handle the following:
- User's registration for a given transaction
- Retrieving in-memory IMS Transaction Isolation table of registered and nonregistered transaction, which includes metadata such as the username, region status, region class ID, and pattern matching data.
- Updating a user’s registration such as pattern matching criteria
- Deregistering a user for a specific transaction
- Starting a private region for the specified user
- Stopping a private region for the specified user
To use the IMS Transaction Isolation Service API, complete
the following:
- Configure the IMS Transaction Isolation Service API.
- Configure IMS Transaction Isolation Facility:
- Scenario F: Enabling the Transaction Isolation Facility
- Sample customization of the IMS Transaction Isolation Facility
- For Eclipse IDE users to access IMS Isolation for non-CICS with Debug Profile Service, also configure the Debug Profile Service API.
- For the API documentation, use the IMS Isolation Service API via the internal Swagger UI URL to verify your IMS Isolation setup. For more details, see Debug Profile Service diagnostics
Notes:
- The IMS Transaction Isolation Service API works by
calling the EQANIPSB program to support IMS Isolation functions, and to interface with IMS
subsystem. Both IMS Transaction Isolation Service API and
EQANIPSB programs must be able to locate the same SEQAMOD driver in order to operate successfully.
The
installation provides a sample job calledEQAW.SEQASAMP(EQAPROF)that sets SEQAMOD in the STEPLIB of the job. Alternatively, SEQAMOD can be added in the system linked-list. Both options enable IMS Transaction Isolation Service API to locate the current EQANIPSB program. However, SEQAMOD must also be set in theimso_dd_eqatipsbproperty defined in eqaprof.env. This enables EQANIPSB to locate the current programs that interface with IMS. A discrepancy between SEQAMODs can cause internal errors. - A private message processing region (MPR) may transition into a Terminated state if the in-memory IMS Transaction Isolation table expected the private region to be Started, but it discovered that it is Stopped. This can occur if the private MPR is stopped or stops unexpectedly by a process external from IMS Isolation, which causes the in-memory IMS Transaction Isolation table to be out-of-sync with the actual state of the private region. A stop request is required to re-sync the in-memory IMS Transaction Isolation table.
- The debug profile EQAUOPTS dataset name given to an IMS Isolation Private Region comes from the
parameter
default_dsnamedefined in the eqaprof.env, the Debug Profile Service deployment configuration file(default location: /etc/debug/).