Jim Martin, U.S. Representative, Fundi Software
One of the best tools we have to deal with the ever dwindling supply of IMS system programmers is to automate whenever we can. IMS Connect has become a key part of our IBM® IMS™ complexes, but it’s been difficult to provide more than basic automation. Now IMS Connect Extensions for z/OS® Version 2.4 changes all that. The primary focus of V2.4 is the automation of IMS Connect, IMS Connect Extensions, and IMS operations.
This new support includes, but is not limited to, these new features:
- A host command environment for REXX that enables a high degree of command automation using traditional REXX programming skills.
- Rules-based routing enhanced to include support for routing plans.
- New UPDATE command that allows dynamic change to several IMS Connect Extensions resources.
- Session balancing improvements for use with sysplex distributor.
- Data store Drain/Resume.
- Pre-routing exit enabling you to withdraw one or more TMEMBERs as routing candidates.
- Rules-based routing rules qualified by transaction code.
- Support for alternate transaction code routing.
- Expanded Eclipsed-based GUI (Operations Console) supporting the new enhancements.
Let’s take a closer look at how each of these new features can improve the operational and control aspects of IMS and IMS Connect systems.
REXX command environment
We’ve been using REXX programs to control automation for many years. The new host command environment enables you to expand the use of REXX programming to your IMS Connect systems. Using REXX programming, you can implement sophisticated automation across multiple IMS Connect systems. You can execute almost any IMS Connect or IMS Connect Extensions command using REXX clients, as well as commands offered by other host environments such as:
- IMS SPOC (OM type 2) REXX commands.
- MVS console commands.
- SDSF REXX commands.
In addition, several new commands allow you to find information about client sessions, data stores, and other IMS Connect resources.
Several customers have indicated the need to be able to change the rules-based routing schemes and workload capacity based upon some sort of cyclic period, such as time of day or week.
IMS Connect Extensions V2.4 satisfies this requirement in these two ways:
- Allowing a plan name to be associated with a routing rule means the rule is only active when the matching plan is active. This change allows you to change routing schemes by simply changing the active routing plan. This support applies to both OTMA and ODBM routing rules. One example of how you might use this support is to isolate your key BMP systems from transaction traffic during the batch cycle. When the BMP system is needed to handle transaction volumes, you can change the plan to include the IMS system in transaction processing.
- Capacity weights define relative workloads between data stores. Using a REXX client, it’s now possible to change a data store’s workload capacity automatically. It’s also possible to stop a data store from being a candidate for routing by changing the data store’s capacity weight to zero.
Using these features, it’s possible to seamlessly change the distribution of workload across complex IBM topologies. Using a batch REXX client, you can schedule the changes with existing operational automations. Equally, you can use these features to respond to planned maintenance periods or emergency situations.
UPDATE resources command
Prior to the new UPDATE command support, changing IMS Connect Extensions resources involved changing the values in the repository and using the REFRESH command to make the changes active. The new UPDATE command allows you to make changes to IMS Connect Extensions resources directly 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 feature enables you to change 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 a challenge. Many customers have begun using sysplex distributor to balance client sessions among the pool of IMS Connect systems.
Problems can arise when an IMS Connect system fails. The clients on the failed IMS Connect system will create new sessions that will then be distributed among the surviving IMS Connect systems before the failed
IMS Connect can be restarted. When the clients are using persistent sessions, it might be a long time before enough new sessions are created to balance the sessions back to the restarted IMS Connect system.
IMS Connect Extensions offers two solutions to help with this situation:
- You can set a maximum number of input messages for a client session. When this number is reached, the client session is closed by IMS Connect. When the client initiates a new session, sysplex distributor chooses the best IMS Connect system for the new session.
- New in IMS Connect Extensions V2.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. You can drain selected sessions or all client sessions. Using a REXX client, you can find the status of all client sessions and drain any or all client sessions.
Rules-based routing: Data store Drain/Resume
This feature of rules-based routing helps address the issue that it’s not possible to gracefully shut down an IMS system if there’s 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’s no way to gracefully disconnect a data store through IMS Connect. If you disconnect a data store, or stop IMS, there are usually in-flight transactions in IMS that will no longer have a response path back to the IMS Connect client. This situation results in a transaction time-out for the IMS Connect client and possibly a discarded client response by IMS or IMS Connect. Input messages for IMS are rejected by IMS Connect 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 a candidate for rules-based routing, but 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, you can drain a data store or a list of data stores across multiple IMS Connect systems and check the number of outstanding transaction responses. When all of the data stores for an IMS system show no outstanding responses, the client can then issue the IMS command to shut down the IMS system now that it’s safe to do so.
Rules-based routing: Pre-routing exit
This new customer exit allows the withdrawal of 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 to withdraw IMS systems from the pool of routing candidates can reduce IMS message queuing and IMS transaction rejection messages due to stopped transactions or applications.
Rules-based routing: Qualified rule support
Before the new qualified rule support, a rule applied to any input matching the original destination supplied by the IMS Connect client. The new support enables you to create rules that allow routing to be tailored based upon the combination of original destination and transaction code. This support allows you to deal with transactions that need special routing in your IMSplex. The transaction qualifier can be a collection of transactions or a specific transaction name.
Rules-based routing: Support for alternate transactions
Some IMS customers have only a few real IMS transactions defined and rely on a transaction code that’s not at the front of the input message. The embedded alternate transaction code is sometimes referred to as an umbrella code. It’s now possible to declare that the real IMS transaction code at the front of the message is a surrogate transaction and the alternate, or umbrella code, should be used as the transaction code for rules-based routing. If you’re 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.
Expanded Eclipse GUI client
The Operations Console (IMS Connect Extensions Eclipse GUI client) is expanded to support the new function of IMS Connect Extensions V2.4. The Operations Console can execute as a plugin for the z/OS® Explorer or another Eclipse GUI such as IMS Explorer. From either the IMS Connect Extensions ISPF dialog or its Eclipse GUI, you get an IMSplex-wide view of resources such as systems, data stores, ports, exits, open databases, and aliases without needing to use the IMS Connect VIEWHWS command. You can issue context-sensitive actions against these resources so there’s no need to use most the other IMS Connect commands either.
Sample REXX client scenarios
Following are the sample REXX scripts supplied. You can use these sample scripts as is or modify them to suit your needs:
- Switch the IMS Connect Extensions journal and the IMS OLDS.
- Control the tracing of OTMA and ODBM activity.
- Various scripts to drain and shut down IMS systems.
- Drain client sessions based on criteria such as port, client name, transaction code, or IP address.
- Command shell: Issue commands to IMS Connect or IMS.
- Query and clear the IMS Connect Extensions ACEE cache.
- Set Routing plans.
- Add a data store to the IMS Connect Extensions data store table.
- Various UPDATE command examples.
I hope you can see how this rich list of new features in IMS Connect Extensions V2.4 can help you extend your automation for both IMS and IMS Connect. By using the new commands available in the host command environment for REXX, you can extend your traditional message capture automation to make the necessary changes to your IMS Connect environments as well.
For more information, see our web page: IMS Connect Extensions for z/OS.