introduction to cics transaction server

41
© 2004 IBM Corporation IBM ^ Introduction to CICS Transaction Server for OS/390 – Unit 3

Upload: tess98

Post on 13-Jan-2015

1.271 views

Category:

Documents


8 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

Introduction to CICS Transaction Server

for OS/390 – Unit 3

Page 2: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

Unit 3: CICS and databases

Topics:

� 3A. Types of databases

Relational

Hierarchical

� 3B. The CICS-DB2 interface

� 3C. Working with databases

Page 3: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

Unit 3 overview

Databases are included as key resources for almost any mainframe

business environment. All businesses use some type of database setup

to store customer information or other types of important data that

needs to be updated and retrieved easily.

Today, large relational databases such as DB2 are used widely.

However, hierarchical applications, used more frequently in the early

days of mainframes, are still popular.

(continued)

Page 4: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

Unit 3 overview

This unit deals with databases

and CICS interactions with them.

Using a financial institution’s

CICSPlex as a model, you will

trace the path of a transaction

from a remote terminal through

CICS to an Information Management

System (IMS) database.

Page 5: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

Unit 3 objectives

Upon completing this unit, this is what you should be able to do:

� Distinguish between a relational and a hierarchical database, and list the advantages of each

� Explain how CICS supports and interacts with the two largest database products used: DB2 and IMS

� Describe the functions and advantages of the CICS attachment facility for DB2

� Describe the typical CICSPlex setup, and how the various products interact to provide customer services in a modern banking model

� Describe the path of a transaction from a remote terminal to a CICS-connected database

� Describe the role that CICS plays in a typical bank transaction based on an IMS model

Page 6: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3A. CICS-supported databases

The two most common types of

databases are relational and

hierarchical.

CICS supports both types of

databases, primarily through

these IBM applications:

� DB2, developed in the 1980s

� IMS, used since the early 1970s

Page 7: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3A. CICS-supported databases

The database application that a

business selects depends directly on

business needs.

Although DB2 is widely popular in

mainframe use, some businesses

(financial institutions in particular)

have found it expensive and difficult to

adapt their existing data resources

entirely to DB2. Therefore, IMS is still

widely used in businesses that have

need for a large and accessible

database with well-defined structural

and maintenance requirements.

Page 8: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3A1. Relational databases

Relational databases are based

on a model developed by an IBM

researcher in 1970.

In a relational database, data is

structured into tables whose

columns specify a particular data

category.

Page 9: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3A1. Relational databases

DB2 accesses data by referring to its content rather than its location

or organization in storage. In this type of system, data can be accessed

or viewed in many different ways without having to reorganize the

database.

Relational databases are the most common today, because they:

� Are flexible

� Are consistent

� Offer data and application independence

Page 10: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3A1. Relational databases

The DB2 family (DB2 for ESA, DB2 for VSE, DB2 for VM, DB2 for

OS/390) includes the most common relational database products found

in mainframe environments with CICS TS. CICS provides both

attachment interfaces for DB2 and monitoring and control services.

DB2’s data manager supplies interfaces and utilities that enable

programmers to write data access commands in Structured Query

Language (SQL) with the structure EXEC SQL. This style is very close

to CICS’ EXEC CICS commands. DB2 programs can therefore be

created and modified by programmers with CICS knowledge, and vice

versa.

Page 11: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3A1. Relational databases

In addition to the CICS EXEC /

EXEC SQL similarity, CICS

applications that can process DB2

tables can also access any SQL

data manager and file control.

That is, CICS applications can use

SQL, and any SQL database

manager can access CICS

applications. This means that DB2

data can be accessed from a

CICS TS for OS/390 environment.

Page 12: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3A2. Hierarchical databases

Hierarchical databases are based

on a parent-child relationship in

data storage, much as the way a

genealogical diagram traces

backward to an original ancestor.

Their greatest strength is their

speed, especially for large data

banks. However, programmers

who maintain them must be very

familiar with their structure, and

they are much less flexible than

relational databases.

Page 13: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3A2. Hierarchical databases

Until recently, most of the world’s commercial information was stored on

IMS structures. This means that the continued use of IMS is likely,

considering the high costs and complexity of converting large data

banks to a product like DB2.

Database managers like IMS are particularly effective on CICSPlex

systems where networks take transactions from many terminals or

sources to the appropriate AORs in CICS.

Page 14: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3A2. Hierarchical databases

The language used for data

manipulation in IMS is Data

Language I (DL/I).

DL/I enables the definition of data

structures and the relation of

structures to applications, and the

loading and reorganization of

these structures. DL/I can enable

application programs to retrieve,

replace, delete and add segments

to databases.

Page 15: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3A2. Hierarchical databases

There are other important interfaces

that are helpful when using IMS as a

primary database structure.

In many systems, CICS online

programs interface with the IMS

Database Control (DBCTL) facility.

Page 16: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3A2. Hierarchical databases

IMS Resource Locks Management (IRLM), another interface, helps ensure

efficient updates of a database without loss of data integrity. IRLM’s primary

purpose is to hold locks on segments of the database that IMS/DBCTL is trying

to update, thus ensuring that segments are not accessed until the update is

complete.

Database Recovery Control (DBRC) is an IMS facility containing information

for database recovery. DBRC’s functions are:

�Generate recovery control statements

�Verify recovery input

�Maintain a separate change log for database data sets

�Support the sharing of an IMS DL/I database by multiple subsystems (including

IMS or CICS regions)

(continued)

Page 17: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3A2. Hierarchical databases

Database resource adapter (DRA) is a component of the

CICS/DBCTL interface in the CICS address space. It performs request,

contact and other functions between CICS and DBCTL.

Database-level sharing is an IMS data-sharing type which allows an

application to read data in one region while another application reads or

updates the same data in another region. In this data-sharing type,

CICS can be designated an IMS region.

Page 18: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3B. Functions of CICS attachment facility

CICS TS for OS/390 comes with an

attachment facility that allows you to

operate DB2 with CICS.

Through this facility, CICS

applications can access DB2 data

while operating within the CICS TS

for OS/390 environment. Thus,

the CICS applications can access

both DB2 and CICS data.

CICS coordinates the recovery of

both DB2 and CICS data if

transaction or system failure occurs.

Page 19: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3B. Functions of CICS attachment facility

The CICS DB2 attachment facility

provides the following major functions:

� An application program interface

that allows you to operate DB2 with

CICS

� Attachment commands that display

and control the status of the

attachment facility

Page 20: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3B. Functions of CICS attachment facility

Through the DB2 attachment facility API, the connection between CICS and DB2 can be created or terminated at any time. This connection and disconnection can be set up to occur automatically.

You can also start and stop CICS and DB2 independently.

The DB2 system can be shared by several CICS systems, but an individual CICS system canbe connected to only a single DB2 system at a time.

Page 21: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3B. Using the CICS attachment facility

The attachment commands that come with the CICS DB2 attachment

facility are issued using the CICS-supplied DSNC transaction ID.

The attachment commands include:

� STRT – Start the connection to DB2

� STOP – Stop the connection to DB2

� DISP – Display the status of the connection to DB2

� MODI – Modify the characteristics of the connection to DB2

� DISC – Disconnect threads

Page 22: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3B. Using the CICS attachment facility

CICS application programs make

requests to DB2 in the form of

Structured Query Language (SQL)

statements.

1) When a CICS application issues

an SQL request, the CICS

resource manager processes the

request and passes control to the

CICS attachment facility.

Page 23: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3B. Using the CICS attachment facility

2) A transaction thread is scheduled

by the attachment facility.

3) DB2 checks the authorization for

the request and creates control

blocks for it.

4) When the SQL request has been

completed, DB2 passes data back

to the CICS attachment facility, and

the CICS application program

regains control.

Page 24: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3B. Using the CICS attachment facility

You can use RDO to declare a

particular DB2 database available

to your CICS TS system.

Defining database resources

online means that you do not have

to shut down the CICS-DB2

attachment facility in order to make

changes to CICS-DB2 resources.

This allows continuous availability

for both systems.

Page 25: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3B. Using the CICS attachment facility

Using RDO to define DB2

resources as CICS-managed

resources also has the advantage

of providing a consistent end-user

interface.

This means that users can use

familiar CICS transaction

identifiers to perform tasks such

as installing and manipulating

database entries.

Page 26: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Architecture example overview

In order to get a good understanding of the respective roles played by

CICS and a database system, it helps to look at an example of a

transaction processing setup.

In our example, 1st Bank is a midsize financial institution that has two

clusters of OS/390 systems, each with two MVS system images. Within

the MVS images there are multiple CICS and IMS regions. The OS/390

clusters are located in different cites that are miles apart.

Page 27: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Architecture example overview

Page 28: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Architecture example overview

CICS receives transactions and communicates with other regions

through Virtual Telecommunications Access Method (VTAM). VTAM is

an IBM API that is used for communicating with telecommunication

devices.

The systems in our example are connected to remote locations and to

each other through a network. Each system also has VTAM connections

in place for each MVS image accessed from the network via network

control program (NCP).

Page 29: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Architecture example overview

NCPs are key for routing

communication as they manage

the communication traffic between

terminals and CICS.

NCPs also route information between

the VTAM-serviced OS/390 images

and connected CICS regions using

ISC (intersystem communication).

Page 30: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Transaction initiation

A customer goes to an ATM and

inserts a bankcard. The ATM

requests the PIN number and

other information needed for the

transaction. The customer enters

the information at the PIN pad (1).

The information is routed to the

remote NCP (2), which in turn

takes it through the network to the

mainframe switch and then to the

system NCPs (3), which are tied

to miniprocessors.

Page 31: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Transaction initiation

The system NCP interfaces with VTAM, which is tied to all applications

on the mainframe. VTAM recognizes the transaction header and routes

it through the security translator application. Every remote terminal,

such as an ATM, is defined as a resource in a CICS TOR. VTAM

establishes a session with the TOR where the initiating remote terminal

is defined. CICS then takes over the transaction routing.

Throughout processing, CICS will invoke VTAM again if any cross-

region communication is needed.

Each CICS system has a TOR with a CSD file where all resources are

defined, including remote terminals such as ATMs.

Page 32: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Transaction initiation

After VTAM establishes a session

with the CICS TOR, CICS gives the

transaction a name and sends it

back through VTAM to the

appropriate AOR, which might or

might not be in the same CICS

system.

After CICS determines the source of

the transaction and names it, the

application required for processing

the transaction is located by the

AOR.

Page 33: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Transaction initiation

The AOR also initiates updates by

scheduling a program

specification block (PSB).

The PSB is sent by CICS to IMS,

where it is accepted by DBCTL.

The DBCTL controls the different

functions involved in the database

update.

Page 34: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Transaction initiation

Like CICS, IMS/DBCTL can be

split into regions, which improves

speed and efficiency in updating

and accessing data.

A multiregion setup consists of

these four regions:

� Control region, which performs

the DBCTL functions contained

in the other regions.

Page 35: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Transaction initiation

� DL/I region, which actually carries out the update. It contains the DL/I

code, control blocks and buffers for IMS databases, and performs the

accessing and updating of data through DL/I calls.

� DBRC region, which is where logging and recovery information is kept

in case there are problems with the update.

� IRLM region, which functions as a gatekeeper during the actual

database update executed by DBCTL, preventing any accessing of

the database segments being used by the update.

Page 36: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Transaction completion

Once DBCTL receives the transaction request, it executes the

transaction, retrieves the database segment information and sends the

information back to CICS.

If there are any problems at the database level, they will be logged by

the DBCTL region containing DBRC, which can then be accessed by

CICS in problem determination.

The IRLM prevents any corruption by other transactions requesting the

same database segment as the update. The DL/I region runs and

receives back the completed program to pass on to the DBCTL control

region.

Page 37: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Transaction completion

Now the transaction path reverses itself.

The completed update is sent back to the CICS AOR, where it is

acknowledged and renamed.

The transaction is then sent on to the original receiving AOR, retracing

its path.

The receiving AOR records the transaction name, logs its completion

level and sends the information on to CICS TOR.

Page 38: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Transaction completion

A VTAM session is once again initiated, this time from the CICS side.

VTAM takes over the transaction routing, through the security

translation application and out to the system NCP and miniprocessors.

The transaction is then sent out over the network to the remote NCP

and from there to the ATM, where the customer is waiting.

The ATM then issues the requested service, such as a cash withdrawal

or bank balance, to the waiting customer.

Page 39: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Transaction summary

The role of CICS in this complex transaction can be summarized as follows:

� CICS resource definition allows VTAM to establish a successful session with CICS TOR.

� The interregion interface between CICS TOR and AORs allows CICS to recognize, name and pass the transaction to the appropriate region where IMS programs are located.

Page 40: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

3C. Transaction summary

� The CICS/IMS interface, involving CICS resource definition, resident

utilities and commands, allows efficient handling of the transaction

both going and coming from IMS/DBCTL.

� The CICS information logged during the inward-bound path of the

transaction facilitates the outward handling to VTAM and from there to

the originating remote terminal (ATM).

Page 41: Introduction to CICS Transaction Server

© 2004 IBM Corporation

IBM ^

Unit 3 summary

This is what you learned in this unit:

� CICS supports both relational and hierarchical database structures.

� Relational databases, such as DB2, structure data in terms of tables containing predefined data categories.

� Hierarchical databases, such as IMS, structure data in a hierarchy where data lower in the hierarchy is dependent upon data higher in the hierarchy.

� CICS receives transactions and communicates with other regions through VTAM.

� IMS/DBCTL, an important interface between CICS and IMS databases, is often structured into several different regions, including a control region, a DL/I region, a DBRC region and an IRLM region.