Advanced Automation for Optimizing Transaction Workflow
IMS Connect Extensions bolsters automation to keep IMS traffic flowing efficiently
Experienced systems programmers who work with IBM® Information Management System (IBM IMS™) software are at a premium these days. Systems programmers monitor and tune IMS Connect—the gateway to IMS Transaction Manager (IMS TM) from TCP/IP-enabled environments—to keep transactions flowing smoothly.
A tool for streamlining operations
Automation is one of the best tools for handling the ever-dwindling supply of IMS systems programmers. Automated operations help ensure that common maintenance and recovery procedures are done correctly and consistently to minimize errors, expedite problem diagnoses, and free skilled staff to focus on complex tasks.
In the past, providing more than basic automation to IMS Connect environments has been challenging. The recent release of IMS Connect Extensions Version 2.4 changes that situation. The primary focus of this IMS Connect Extensions version is automation of IMS Connect operations. This advanced support includes the following features:
- Host-command environment for the Restructured Extended Executor (REXX) programming language
- Data store Drain/Resume feature
- Routing plans, which allow dynamic changes to rules-based routing
- Advanced UPDATE command
- Session balancing improvements for use with Sysplex distributor
- Enhanced rules-based routing
- Pre-routing exit for withdrawing one or more TMembers as routing candidates
- Rules-based routing qualified by transaction code
- Support for alternate transaction code routing
- Expanded Eclipse-based graphical user interface (GUI)
Each of these new features helps improve the operational and control aspects of IMS and IMS Connect systems.
REXX programs have been used for many years to control automation. This host-command environment enables organizations to expand the use of REXX programming to IMS Connect systems. Using REXX programming allows organizations to implement sophisticated automation across multiple IMS Connect systems. Almost any IMS Connect or IMS Connect Extensions command can be executed using REXX clients and commands offered by other host environments such as the following environments:
- IMS Single Point of Control (SPOC)—Operations Manager (OM) type 2—REXX commands
- Multiple Virtual System (IBM MVS™) console commands
- System Display and Search Facility (SDSF) REXX commands
In addition, several new IMS Connect Extensions host commands provide the capability to find information about client sessions, data stores, and other IMS Connect resources.
The data store Drain/Resume feature for rules-based routing helps address the inability to gracefully shut down an IMS system if there is an IMS Connect system connected. The problem occurs because the pathway in IMS Connect to the partner IMS system is through the IMS Connect data store. The data store is either connected or disconnected. There is no way to gracefully disconnect a data store through IMS Connect.
When disconnecting a data store, or stopping IMS, generally there are usually in-flight transactions in IMS that will no longer have a response path back to the IMS Connect client. The result is a transaction time-out for the IMS Connect client and possibly a discarded client response by IMS or IMS Connect. IMS Connect rejects input messages for IMS if they cannot be routed to an available IMS system.
Using the DRAIN command for a data store instructs IMS Connect Extensions not to consider the data store as a candidate for rules-based routing. However, because the data store is still connected to IMS, any in-flight transaction responses are returned to the IMS Connect client. Using a REXX client enables draining a data store or a list of data stores across multiple IMS Connect systems and checking the number of outstanding transaction responses. When all the data stores for an IMS system show no outstanding responses, the IMS command can be issued to safely shut down the IMS system.
Several organizations have indicated the need to be able to change rules-based routing schemes and capacity based on expected changes in resource availability or capacity. These changes might relate to some cyclic period such as time of day or a weekly or monthly processing peak. IMS Connect Extensions Version 2.4 can meet this requirement in several ways.
- IMS Connect Extensions allows a plan name to be associated with a routing rule, which means the rule is active only when the matching plan is active. This change enables changing routing schemes by simply changing the active routing plan, and it applies to both Open Transaction Manager Access (OTMA) and Open Database Model (ODBM) routing rules. For example, using a plan name–routing rule association isolates key business management process (BMP) systems from transaction traffic during the batch cycle. When the BMP system is needed to handle transaction volume, changing the plan can include the IMS system in transaction processing.
- Capacity weights define relative workloads between data stores. Using a REXX client, automatically changing a data store’s workload capacity is now possible. Moreover, stopping a data store from being a candidate for routing by changing its capacity weight to zero is also possible.
Using these features enables seamless changes to the distribution of workloads across complex IBM topologies. For example, using a batch REXX client allows changes to be scheduled with existing operational automations. In addition, these features can be used to respond to planned maintenance periods or emergency situations.
Prior to the new support for the UPDATE command, changing IMS Connect Extensions resources involved changing the values in the repository and using the REFRESH command to make the changes active. The UPDATE command enables changes to IMS Connect Extensions resources in the active IMS Connect system. If necessary, the repository is also updated to reflect the changes to the resource. When used with a REXX client, this command enables changing routing plans, data store weights, collection levels, and many other IMS Connect Extensions resource values without having to first change the repository.
Session balancing improvements
When multiple IMS Connect systems are supporting an IMS complex, balancing the number of sessions for each IMS Connect system can be challenging. Many organizations have begun using Sysplex distributor to balance the client session among the pool of IMS Connect systems. However, problems can arise when an IMS Connect system fails. The clients on the failed IMS Connect system will create new sessions that are distributed among the surviving IMS Connect systems before the failed IMS Connect system can be restarted. When the clients are using persistent sessions, a long time may pass before enough new sessions are created to balance the sessions back to the restarted IMS Connect system. IMS Connect Extensions offers two ways to help with this situation:
- A maximum number of input messages can be set for a client session. Once this number is reached, IMS Connect closes the client session. When the client initiates a new session, Sysplex Distributor routes it to the IMS Connect system that currently has the fewest sessions.
- A recent addition in IMS Connect Extensions Version 2.4 is the ability to drain a client session. The DRAIN command requests that IMS Connect close the client session after processing the next client input message. Selected sessions or all client sessions can be drained. Using a REXX client enables finding the status of all client sessions and draining any or all client sessions.
Rules-based routing pre-routing exit
The pre-routing exit capability enables withdrawing IMS systems as candidates for rules-based routing. If the status of a specific IMS transaction is known for each participating IMS system, the exit can prevent an IMS system from being selected for rules-based routing where the transaction or application is not available. Using the exit feature to withdraw IMS systems from the pool of routing candidates helps reduce IMS message queuing and IMS transaction rejection messages because of stopped transactions or applications.
Rules-based routing qualified rule support
Prior to qualified rule support, a rule applied to any input that matches the original destination is supplied by the IMS Connect client. This support enables creating rules that allow routing to be tailored based on the combination of original destination and transaction code. Programmers can handle transactions that need special routing in an IMSplex. The transaction qualifier can be a collection of transactions or a specific transaction name.
Rules-based routing support for alternate transactions
Some organizations deploying IMS have only a few real IMS transactions defined and rely on a transaction code that is not at the front of the input message. The embedded alternate transaction code is sometimes referred to as an umbrella code. Declaring that the real IMS transaction code at the front of the message is a surrogate transaction is now possible, and the alternate or umbrella code should be used as the transaction code for rules-based routing. When using the pre-routing exit, the exit will be informed of both the primary or real IMS transaction name and the alternate transaction name if one exists.
The Operations console—the IMS Connect Extensions Eclipse GUI client—has been expanded to support all the new functions available with IMS Connect Extensions Version 2.4. The Operations console can execute as a plugin for the IBM z/OS® Explorer integration platform or another Eclipse shell such as IMS Explorer. From either the IMS Connect Extensions Interactive System Productivity Facility (ISPF) dialog or the Eclipse GUI, an IMSplex-wide view of resources such as systems, data stores, ports, exits, open databases, and aliases are provided without requiring the IMS Connect VIEWHWS command. Context-sensitive actions can be issued against these resources so there is no need to use most of the other IMS Connect commands.
REXX client scenarios
Several sample REXX scripts are supplied with this recent release. Scripts for the following scenarios can be used as they are or modified to suit specific needs:
- Switch the IMS Connect Extensions journal and the IMS online log data set (OLDS)
- Control the tracing of OTMA and ODBM activity
- Drain and shut down IMS systems using various scripts
- Drain client sessions based on criteria such as port, client name, transaction code, or IP address
- Shell—issue commands—to IMS Connect or IMS
- Query and clear the IMS Connect Extensions Access Control Environment Element (ACEE) cache
- Set routing plans
- Add a data store to the IMS Connect Extensions data store table
- Execute various UPDATE command examples
IMS automation extension
The rich set of advanced features in IMS Connect Extensions Version 2.4 helps many organizations extend automation within both their IMS and IMS Connect systems. Using the commands available in IMS Connect Extensions Version 2.4 within a host-command environment for REXX enables IT organizations to extend their traditional message-capture automation for making the necessary changes to their IMS Connect environments.
Please share any thoughts or questions in the comments.