IBM CICS Interdependency Analyzer (CICS IA) for z/OS is a run-time productivity tool for CICS TS (CICS Transaction Server) that can be used for dynamic application analysis. It acts as a Discovery Tool and captures application information while CICS is running, and hence identifies resource interdependencies & affinities (like ENQ/DEQ, TSQUEUE, CWA etc) within the CICS system, relationships between resources (like CICS transactions, programs, files, TDQs, TSQs, Web-services, DB2 tables, views etc), & the environment on which they run.
CICS IA has three main purposes:
1. To identify the set of resources used by individual CICS transactions and their relationships to other resources. This provides an understanding of what all are present in a CICS region, what resources are required by a transaction or program to run, unused resources etc, that can be used to maintain, enhance, modify, or redistribute applications easily.
2. To identify possible transaction affinities. Occurrence of Affinities between transactions make it necessary for particular groups of transactions to be run either in the same CICS region, or in a particular region. Identification of these affinities is critical & highly useful in a dynamic routing environment, where particular transactions may be routed or be prevented from being routed, to particular application-owning regions (AORs).
3. To identify and analyze resource usage flow within a transaction or transactions. The Command Flow feature of CICS IA allows to capture all CICS/DB2/MQ/IMS commands in chronological order, and store into DB2 tables, which can be used by individual users to see the command flow captured by a user-id with the CICS IA Explorer Plug-in.
Benefits of CICS IA for z/OS:
– CICS IA automates the process to collect resource relationship data at runtime.
– Impact analysis of routine applications for maintenance becomes easier for the developer.
– The Flexible reporting capability makes it easier for a user to understand the application flow
– By using CICS IA, it is possible to achieve better management, re-usability and control of our applications through improved understanding of a wide range of CICS applications, resource flows, and resource inter-relationships.
– Compare applications and resources across regions and platforms.
– Upgrade CICS TS release quicker, as time spent on Analysis of existing region & Testing of applications against latest release is reduced.
– Optimization of CICS regions & Modernization of applications.
– Deploy WLM (Work Load Management) policies with confidence that you have no affinities.
– Helps to Visualize the resource usage by region, transaction, or program.
– Build & Run customized SQL queries to check the CICS resource relationships.
– Helps to track the work load from start to finish including “CICS transaction data”.
– Ease of Analysis & Discovery of resource relationship data across regions help reduce time spent on application understanding by new programmers in case of Mergers, Acquisitions, or Outsourcing.
How does the CICS IA work?
The CICS IA works by examining the EXEC CICS commands within the applications and systems. The statements within the EXEC CICS commands contain instructions, commands and their parameters that identify the resources that the program uses. CICS IA analyses these calls to get a view of resource interdependencies.
It primarily has 2 main components that helps in its functioning as a discovery tool : The Runtime Collector and a Batch job, for Collecting data (that will be stored into a DB2 Database repository), & for flexible reporting purpose respectively.
The runtime collector collects three different types of data like Dependency data, Affinity Data & Command Flow Data. The Collectors consist of :
- a few CICS transactions (like CINT, CINB etc) : that provide an interactive interface to control the Collector, & provides saving dependency & affinity data from data space to VSAM files for affinity & Dependency collectors).
- and GLUE/TRUE exits (Global User exits, Task related User exits) : that run in the task of the user transaction & collects resource details, which are recorded by the Collector into an MVS data space that is periodically saved to VSAM files (or in CICS Journal Log Stream for Command flow).
Dependency data is collected by GLUE (Global user exit programs) at the exit points, while Affinity & Command Flow data are collected by the GLUE & TRUE (Task-related user exit programs).
Dev Manager , Products & Platforms