CICS - Group home

CICS IA for analyzing dependency and flow of CICS applications

  

CICS IA for analyzing dependency and flow of CICS applications

 

This blog explains a use case where the user finds it difficult to manually analyze the flow, know the programs, transactions and other resources used in a CICS application. It also tells how CICS IA helps to analyze/troubleshoot the application in an easier way.

Problem statement:

Dibisha, a developer is assigned to modify the CICS application in a more user-friendly way. The CICS application was developed before Dibisha joined the organization. Not being the actual developer of the application Dibisha decides to analyze the design to understand it.

Analyzing the application involves tracing the programs, transactions, maps, and other resources used for it.

Dibisha thinks of the cons in the manual analysis,

 

Cons:

  • Consumes more time.
  • Chances to miss some resources in the flow of program.
  • Larger programs analysis will be complicated.
  • Requires more manual effort and number of people for bigger application.

 

Considering these cons in manually analyzing the application , Dibisha thinks of an alternate solution which can help her in understanding the application in minimal time and less manual effort.

 

Solution:

 That’s when she comes across the tool CICS IA (CICS Interdependency Analyzer). CICS IA tool helps to identify the set of resources used by individual CICS applications (like transactions, commands etc.) and their dependencies which helps in understanding the characteristics of an application.

Dibisha finalizes to analyze her application using CICS IA.

 
CICS IA usage

Requirements:

To use CICS IA tool,

  • The CICS IA for host must be installed to the z/OS environment where the CICS application resides.
  • To view the analyzed data in user friendly way and detailed manner the client side CICS IA plugin (Eclipse plugin) must be installed on top of z/OS explorer.

 

 

 Sample CICS application for analysis:

   Below are the resources of the application,

  • Application – Casting votes
  • Transaction - IAT1
  • Program – IACASES1
  • Maps– IAMAP1, IAMAP2

 

  • Application design:

                  IAMAP 1:

           

  IAMAP 2:


  • Resources analysis using CICS IA:

         The sample application for casting votes is taken as example for analysis using CICS IA. Below is on how to trace application and identify the resources used by it.

 Interdependency data collection flow:

  3)  Viewing the dependent resources in plugin:

 

  • In CICS IA plugin, set the collection ID given in CIUUPDB job as current scope.
  • For viewing dependency of the program various options are present to showcase the dependency data. Below are some examples,

 

USED BY REGIONS option:

    Shows the regions where particular program is run.

VISUALIZATION option:

    Shows the flow of the particular program.

SHOW DETAILS option:

USED BY TRANSACTIONS option:

    Shows the transactions used by the particular program.

USES RESOURCES option:

                   Shows the resources that is used by the particular program on the whole.

COMMANDFLOW RUNS option from transaction:

       Shows the command flow runs for the particular transaction.

       Output:

Commandflow tracing flow:

       The applications trace will be collected as part of this CICS IA feature.

   

4)   Viewing the command flow trace in plugin:

         In CICS IA plugin, user command flow option will display the command flow that is traced as below,

SHOW EXECUTION option:

  Output:

 

VISUALIZATION option:

              Output:

Filtering:

Through filtering technique also, the resources used on the whole by the program/transaction can be viewed;

Steps:

Output:

Usage of CICS IA plugin for knowing interdependency and flow of program:

  • View resources used by a region, transaction, or program.
  • View the programs or transactions that use a given resource.
  • View resources used by an application.
  • Create own queries to analyze the data.
  • View detailed information for programs, transactions, files, TSQueues, Events, Exits or Regions.
  • Compare resources used by a transaction, program, or region.
  • View collections by time or userid.
  • View tasks within a Collection.
  • View the execution tree for a given task.