Previous Topic: 2.2.1 Transaction vs. Task vs. Interaction

Next Topic: 2.2.3 CICS Response Time

2.2.2 ISC and MRO Environment


In today's increasingly complex online transaction processing
(OLTP) environments, CICS no longer exists as a single,
isolated system.  The methods by which CICS communicates with
other mainframe, CICS, or IMS systems are intersystem
communication (ISC) and multiregion operation (MRO).
Collectively, ISC and MRO are known as CICS
intercommunication facilities.  This section provides some
general information and terminology for these facilities,
plus a look at how ISC and MRO affect the contents of the
data sources processed by CA MICS.

ISC provides communication between systems that are in the
same or different hosts via an SNA (System Network
Architecture) access method such as ACF/VTAM (Advanced
Communication Facility/Virtual Telecommunications Access
Method), which provides communication protocols for the
interconnected systems.  ISC uses two types of SNA protocols,
including Logical Unit Type 6 (LU 6.1) and Advanced
Program-to-Program Communication (APPC, or LU 6.2).

MRO provides CICS-to-CICS communication independent of SNA
access methods such as ACF/VTAM.  In earlier CICS releases,
MRO is used for CICS communication within the same host
(single MVS image).  Beginning with CICS/ESA 4.1 and MVS/ESA
5.1, MRO can be used between CICS systems in the same MVS
system complex (sysplex), which comprises multiple MVS system
images.  The CICS internal support that enables MRO is called
interregion communication (IRC), which can be implemented
through a type 3 supervisory call (SVC), MVS cross-memory
services, or the cross-system coupling facility (XCF) of
MVS/ESA (5.1 and higher).

In a simple ISC/MRO configuration, the interconnected systems
typically consist of a primary region and one or more
secondary regions.  The primary region owns the terminals to
which users log on and is called the terminal-owning region
(TOR).  The secondary regions usually own the application
programs and files and are called application-owning regions
(AOR).  When a secondary region owns the files and data
needed to support the applications, it is known as a
file-owning region (FOR).

The terms TOR, AOR, and FOR do not necessarily imply that the
primary region must own all of the terminals or that the
secondary regions must own all applications and files,
although that is a possible configuration for many sites.

ISC and MRO facilitate the following types of processing:

   o  Transaction routing - Allows terminal users in a given
      system to run transactions in any connected CICS
      system.  Under transaction routing, the transaction is
      entered on the TOR and then routed by the CICS relay
      program to an AOR for execution.

   o  Distributed transaction processing (DTP) - Provides a
      technique to distribute work over several transaction
      programs within a network.  DTP is a form of
      synchronous processing in which the transaction is
      coded specifically for multiple regions to perform
      joint work.

   o  Function shipping - Allows multiple CICS regions to
      share resources.  Under function shipping, a
      transaction can execute within one CICS system and
      request a resource that resides in another system.  The
      request is "shipped" to the other system for execution
      by a function called a "mirror transaction" (CSMx
      transaction codes).  Once the request has been
      processed by the mirror transaction, it is shipped back
      to the system from which the request originated.

   o  Asynchronous processing - A variation of function
      shipping, where the completion of the primary
      transaction is not dependent on the state of the
      secondary transaction it initiates.

   o  External CICS interface (EXCI) - An application
      programming interface (API) that enables a non-CICS
      program to invoke a server program running in CICS.
      EXCI is available in CICS TS 1.2 and higher releases.

Figure 2-1 shows an example of CICS regions connected via MRO
with one TOR, one AOR, and one FOR.

+----------+ | Terminal | -------+ | Input | | +----------+ | v +----------------------------------+ +----------------------------------+ +--------------------------------+ | | | | | | | Terminal Owning Region (TOR) | | Application Owning Region (AOR) | | File Owning Region (FOR) | | | | | | | | | | | | | | | | +-----------------------+ | | | | | | | | | | | | | | Transaction Routing | | User Transaction | | | +-----------------+ | | +---------------------------> | | | | | | | | | | | | Function Shipping | | Mirror | | | | | | +--------------------------> | | | | | | | | | | | Transaction | | | | | | +<-------------------------- | | | | +<--------------------------- | | | | | | | | | | | | | | | | | | | | | | | +-----------------------+ | | +-----------------+ | | v | | | | | | | | | | | +----------------------------------+ +----------------------------------+ +--------------------------------+ | | | +----------+ | +--------+ +--------+ | Terminal | <------+ | DL/I | | VSAM | | Output | +--------+ +--------+ +----------+

Figure 2-1.  CICS Regions Connected Via MRO
For MRO and ISC environments, all of the CICS monitors
supported by CA MICS generate a transaction record in each of
the CICS regions where a piece of the transaction is
executed.  For example, under transaction routing, the TOR
and AOR each write a record for their processing of the
transaction.  The TOR record contains terminal related
information while the AOR record contains program resource
usage information.

To identify and link the pieces of information written by
each region back to the same transaction, CICS assigns a
token to each transaction and passes the token to subsequent
regions where the transaction is executed.  This token, known
as the unit of work ID (UOWID), is a time value derived from
the initial task attach time.  Along with the UOWID, CICS
also passes the NETNAME (the name by which CICS is known to
VTAM, or, in DL/I, the jobname.stepname.procname) of the
originating system.  Together, UOWID and NETNAME form a
unique identifier by which related transaction records can be
matched to provide a total view of a transaction's activities
across CICS systems.

The CICS Analyzer processes transaction records from each
CICS region individually; therefore, you will see multiple
transaction records in your CA MICS data base for a single
MRO/ISC transaction.  The CICS Analyzer does not consolidate
or collapse the related transaction records into a single
observation in the CA MICS data base. However, for accounting
purposes, you have the option to invoke a user exit during
detail transaction record processing to pass
accounting-related information from the TOR records, such as
terminal ID, to the AOR and FOR records.  This optional
CA MICS user exit, called the multi-system accounting exit
(CICMSAC), enables you to summarize transaction records that
have identical UOWID and NETNAME combinations under the same
CA MICS account codes.  For more information on the CICMSAC
user exit, refer to Section 7.3.9 of this guide.

Figure 2-2 provides an example of the CMF records showing the
activity of a transaction as it is routed from the TOR to the
AOR and then function-shipped between the AOR and the FOR.
In the figure, examples 1 and 2 show the CMF records produced
for the basic update transaction AUPD.  Example 3 shows CMF
records produced for the browse transaction ABRW.

In example 1, transaction AUPD is entered on terminal SRO1.
The task number for this transaction is 45.  Notice the
program name is DFHCRP, which is the CICS program that
performs the transaction routing function in MRO/ISC.  The
next line provides information for transaction AUPD,
transaction number 38, on terminal SRO1.  However, the CICS
system ID is SAOR.  This is the result of transaction routing
to the AOR.  The program shown here, DFH$AALL, is the actual
application program name for the AUPD transaction.  The last
line in example 1 is the result of the DFH$AALL program
issuing a request for a remote file, which is controlled by
the CICS system SFOR, a file-owning region.  The request is
function-shipped to SFOR and is processed by the mirror
transaction CSMI in that region.  Notice that this is the
only entry in example 1 which registers file activity.

Example 2 shows the second interaction of the transaction
APUD.  It is within the second series of activity that the
actual file update takes place (note the get and put file
activity in the record written for the FOR).

Example 3 depicts the browse transaction ABRW being routed to
the SAOR region, where a request is then function-shipped to
the SFOR region.  Of interest in this example is the initial
ABRW running in conversational mode.  CMF in this CICS system
is recording each segment of the conversation in a separate
transaction record.  Note the TRANTYPE T for the first record
and the TRANTYPE C for subsequent records, and that the task
number remains the same for the subsequent records.




CICS MRO/ISC TRANSACTION RECORD DUMP CICS NETNAME UOWID TASK TRAN TERM PROGRAM TRAN DURATION TRAN FILE FILE FILE FILE FILE SYSTEM ID CODE TYPE CPU BROW ADD DEL GET PUT EXAMPLE 1 STOR STOR 3577:58:58.68 45 AUPD SRO1 DFHCRP T 00:00:00.349 0.018352 0 0 0 0 0 SAOR STOR 3577:58:58.68 38 AUPD DFH$AALL T 00:00:00.302 0.066880 0 0 0 0 0 SFOR STOR 3577:58:58.68 29 CSMI DFHMIR T 00:00:00.036 0.014416 0 0 0 1 0 EXAMPLE 2 STOR STOR 3577:12:59.44 46 AUPD SRO1 DFHCRP T 00:00:00.211 0.018464 0 0 0 0 0 SAOR STOR 3577:12:59.44 39 AUPD DFH$AALL T 00:00:00.164 0.052096 0 0 0 0 0 SFOR STOR 3577:12:59.44 30 CSMI DFHMIR T 00:00:00.113 0.027840 0 0 0 1 1 EXAMPLE 3 (not all interactions are shown) STOR STOR 3574:23:10.70 41 ABRW SRO1 DFHCRP T 00:00:02.555 0.01909 0 0 0 0 0 SAOR STOR 3574:23:10.70 34 ABRW DFH$ABRW T 00:00:44.677 1.78850 0 0 0 0 0 SFOR STOR 3574:23:10.70 27 CSMI DFHMIR T 00:00:44.363 1.30104 135 0 0 1 1 STOR STOR 3574:23:10.70 41 ABRW SRO1 DFHCRP C 00:00:01.191 0.01418 0 0 0 0 0 STOR STOR 3574:23:10.70 41 ABRW SRO1 DFHCRP C 00:00:01.196 0.01435 0 0 0 0 0 STOR STOR 3574:23:10.70 41 ABRW SRO1 DFHCRP C 00:00:01.188 0.01416 0 0 0 0 0 STOR STOR 3574:23:10.70 41 ABRW SRO1 DFHCRP C 00:00:01.194 0.01430 0 0 0 0 0 STOR STOR 3574:23:10.70 41 ABRW SRO1 DFHCRP C 00:00:01.288 0.01437 0 0 0 0 0 STOR STOR 3574:23:10.70 41 ABRW SRO1 DFHCRP C 00:00:01.191 0.01440 0 0 0 0 0 STOR STOR 3574:23:10.70 41 ABRW SRO1 DFHCRP C 00:00:01.194 0.01424 0 0 0 0 0

  Figure 2-2.  CICS MRO/ISC Activity Example