Scenario: Running existing applications on open TCBs without code changes

Threadsafe capabilities of CICS® Transaction Server for z/OS® could enable you to run more of your existing applications on open TCBs without changing their code. Running applications on open TCBs can achieve performance and throughput improvements at an application and system level.

When you define the programs in an application to CICS as threadsafe, CICS runs the programs on an open TCB rather than on the CICS QR TCB. If the programs contain only threadsafe CICS commands, the application can remain on the open TCB without returning to the QR TCB. In this situation, contention for the QR TCB is reduced, which could mean that throughput improves, and TCB switching for the application is avoided, which could mean that the application runs faster. To achieve this situation, you must first analyze the application to make sure that the program logic and the CICS commands used in the programs are all threadsafe in the context of the application.

This scenario uses an example of a CICS COBOL application. In Version 3 of CICS Transaction Server for z/OS, the application had several obstacles that prevented it from running on an open TCB during most of its processing. Higher versions of CICS Transaction Server for z/OS have already removed some of the obstacles, but further work is needed to enable the application to run on an open TCB throughout its processing. The scenario demonstrates how various CICS Tools Family products can help you with this work.

The scenario shows you how to assess an existing application, change the resources associated with the application so that CICS now runs it on an open TCB, and verify the results. You can follow the process in the scenario to assess your own applications in the context of your CICS systems. The stages in the process are as follows:
  1. Analyze the application in the context of the CICS systems.
    1. Analyze whether the program logic in the application is threadsafe, if you have not previously done this.
    2. Analyze whether the CICS commands in the application are threadsafe in the context of the application in a CICS system.
    3. Benchmark the performance of the application before you make any changes.
  2. Redefine CICS resources associated with the application, or define new resources, so that the components of the application can be run on an open TCB.
  3. Reanalyze the application following your changes.
    1. Verify that the application now runs on an open TCB during most or all of its processing.
    2. Analyze the performance of the application in a workload and verify the performance improvement.