7/31/2019 Ch01 Slides[1]
1/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 1
Chapter 1
CICS conceptsand terms
7/31/2019 Ch01 Slides[1]
2/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 2
Objectives
1. In general terms, describe what CICS does.
2. Explain how CICS functions in an OS/390 environment.
3. List the programming languages that can be used to write CICSapplications and identify the most popular one.
4. In general terms, describe what 3270 emulation software does.5. Describe at least one of the alternate user interfaces you can use to
develop the presentation logic for a program whose business logic
is written in CICS.
6. Describe the most common way a task is started under CICS.
7. Distinguish between multitasking and multithreading.8. Describe the function of the CICS API.
7/31/2019 Ch01 Slides[1]
3/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 3
Objectives (continued)
9. Briefly describe the function of each of the following CICSservices:
terminal control interval control
basic mapping support storage control
file control task control
program control dump control
temporary storage control
10.Briefly describe the function of each of the following CICS tables:
Program Control Table
Processing Program Table
File Control Table
7/31/2019 Ch01 Slides[1]
4/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 4
A CICS interface
CICS provides an interface between application programs andoperating system services, such as data access and communication
access.
Operating system
CICS
Data access(VSAM,DB2,IMS)
Communicationaccess
(VTAM, SNA,TCP/IP)
Disk storage
User interface
Applicationprograms
7/31/2019 Ch01 Slides[1]
5/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 5
CICS in an OS/390 address space
More than one CICS system (or region) can run on the same
computer at the same time.
OS/390
CICS production
region
Batch
Job
CICStest
region
TSO
user
Address space 1 Address space 2 Address space 3 Address space 4
7/31/2019 Ch01 Slides[1]
6/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 6
CICS transaction server platforms
Hardware Operating system
IBM zSeries 900 z/OS
IBM S/390 OS/390, MVS, VSE
IBM AS/400 OS/400
IBM RS/6000 AIX (UNIX)
PC server Windows NT, OS/2
7/31/2019 Ch01 Slides[1]
7/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 7
CICS programming languagesLanguage Description
COBOL The most used programming language for both batch and online
applications in a mainframe environment.
Assembler
language
Assembler language is used mostly for special-purpose devices like ATM
machines.
PL/I You probably wont find any new program development being done inPL/I.
C and C++ Traditionally used in engineering and math environments. With C++, an
object-oriented language, you can develop object-oriented classes that
access CICS services.
Java The newest language for writing CICS applications, Java can also be used
for developing object-oriented classes that access CICS services.
7/31/2019 Ch01 Slides[1]
8/17
7/31/2019 Ch01 Slides[1]
9/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 9
Alternate user interfaces
When CICS is used with alternate user interfaces, thefront-end programprovides the presentation logic, but the CICS application is still the back-
end program that provides the business logic.
OS/390
CICS address space
Business logicPresentation logic
Web application
PC3270 emulation
Front-endapplication
Visual Basicapplication
3270
HTTP MQ Series ECI
7/31/2019 Ch01 Slides[1]
10/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 10
How multitasking works
A taskis the execution of an application program for a specificuser.
Within CICS, two or more tasks can execute at the same time usinga CICS feature called multitasking.
CICS handles multitasking internally, within its own address space.
CICS address space
Task 1
Order entryprogram(user 1)
Task 2
Customerinquiry
program(user 2)
Task 3
Master menuprogram(user 3)
Task 4
Customermaintenance
program(user 4)
Task 5
Order entryprogram(user 5)
7/31/2019 Ch01 Slides[1]
11/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 11
How multithreading works
With multithreading, two or more users can access the same copyof a program at the same time. CICS accomplishes this by
providing a separate copy of working storage for each user running
the program.
CICS address space
User 1
Workingstorage
Order entry program
User 5
Workingstorage
User 1
User 5
7/31/2019 Ch01 Slides[1]
12/17
How CICS invokes an application program
DMPGM01
MMAPGM1
ORDPGM1
The user enterstrans-id ORD1
CICS locatestrans-id ORD1in the ProgramControl Table
CICS locatesprogramORDPGM1 in the
ProcessingProgram Table
CICS locates load
module ORDPGM1on disk, loads itinto memory, andstarts the task
CICS address space
DMPGM01DMPGM02MMAPGM1ORDPGM1ORDPGM2
In storageOn diskIn storageOn diskOn disk
Program Location
DMPROG
MMAPROGORDPROG
DMPGM01DMPGM02MMAPGM1ORDPGM1ORDPGM2
Library Load module
ORD1
PCT
PPT
DM01DM01MMA1ORD1ORD2
DMPGM01DMPGM02MMAPGM1ORDPGM1ORDPGM2
Transaction Program
7/31/2019 Ch01 Slides[1]
13/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 13
How a program accesses CICS services
CICS services are available to an application program through itsApplication ProgrammingInterface, orAPI.
Datamanagementservices
CICSmanagement
services
Datacommunicationservices
ApplicationProgramming
Interface
Application
programs
CICS
OS/390
7/31/2019 Ch01 Slides[1]
14/17
7/31/2019 Ch01 Slides[1]
15/17
Three ways a program can access disk data
ApplicationProgrammingInterface
File control
CICS
Applicationprograms
VSAM
OS/390
Disk storage
DB2 IMS
SQL DL/I
7/31/2019 Ch01 Slides[1]
16/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 16
CICS services that help manage application
programsManagement service Description
Program control Provides for calling or transferring control to other
programs.
Temporary storage control Provides for storing data outside working storage
in simple files called temporary storage queues.
Interval control Provides time-related services, including services
for getting the current date and time and scheduling
tasks for execution.
Storage control Provides for allocating main storage space outside
of working storage.
Task control Provides for temporarily suspending a task that is
monopolizing CICS resources or gaining exclusive
control of a CICS resource.
7/31/2019 Ch01 Slides[1]
17/17
CICS, C1 2001, Mike Murach & Associates, Inc. Slide 17
CICS services that help manage applicationprograms (continued)
Management service Description
Dump control Produces a transaction dump when a fatal error is
encountered during the execution of an application
program.
Trace control Maintains a trace table that indicates the sequence
of CICS operations performed.
Journal control Creates a record orjournal that can be used to
restore files in the event of a task or system failure.
Transient data control Provides a convenient way to use sequential files
called destinations to store data.