CICS
Introduction and Overview
Larry Trollope
Monday August 8, 2011
9:30 am
Orlando, FL Session 9627
Abstract
This session provides an introduction to CICS and
provides an overview of the product. CICS
transaction processing and application server
capabilities will be highlighted
highlighted. It provides the
attendee with information regarding important
functionality such as Application Development,
Storage Management, File Control, DB2 and MQ
attach, Security, Two-phase commit,
and Dispatching. The attendee also will see how
resources are defined and will be introduced to the
new face of CICS
CICS, the IBM CICS Explorer.
Explorer
2
CICS: IBM's
IBM s best kept secret
30 billion transactions/day, >$300B/week
16,000 customers worldwide
40 years invested in applications
30 million users
CICS 950,000 programmers earn
their living from CICS
Over 900,000 concurrent users/system
5000 packages from 2000 ISVs Used by 490 + of IBM''s top
500 customers
50,000 CICS licenses
3
What is a transaction and what should
software to manage transactions provide?
A transaction
i iis the
h ffundamental
d l unit
i off work
k ffor
which recovery, consistency and concurrency are
managed in online processing environment.
For a transaction manager to pass the ACID
test it should provide:
Atomicity, Consistency, Isolation and Durability
4
What else should transaction
management software provide?
• Should support major programming languages
• Should provide tools to assist in development
• Should have an API to shield developers
• Should have tools to assist in operations
• Should support major platforms
• Should
Sh ld supportt major
j ddatabase
t b systems
t
• Should support major network protocols
• And it should support Web-based applications
5
So CICS is a Transaction Manager?
g
Customer Information Control System
also known as .......
a Transaction Server
a Transaction Monitor
an Application Server
6
So what does CICS actually do?
CICS provides a concurrent program execution
environment for multiple end users, who have
access to multiple data types
types.
CICS will manage the operating environment to
provide
id performance,
f scalability,
l bilit security
it and
d
integrity.
7
Transaction Processing Requirements
Large volume of business transactions to be rapidly and accurately
processed
Multiple users, single/sysplex or distributed
With potentially:
– A huge number of users
– Simultaneous access to data
– A large volume of data residing in multiple database types
– Intense security and data integrity controls necessary
The access to the data is such that:
– Each user has the perception of being the sole user of the system
– A set of changes
g is g guaranteed to be logically
g y consistent
If a failure occurs, any intermediate results are undone before the
system becomes available again
– A completed set of changes is immediately visible to other users
8
CICS Provides .......
Systems Services
Storage, Program, Task and Time Control
Security,
Security Workload Management
Communications Services
To other CICS's, end-users, the web and other non-CICS
programs
SNA – TCP/IP
Data Management
g Services
with Commit
with Logging
with Recovery
Application Development Services
API
Language Tools
Debug Support 9
Does CICS Run on a System
y z?
Well yes it does .......
and on the UNIX platforms,
platforms
– AIX, HP-UX, Solaris,
and on Windows
and VSE
and OS/400
and d Linux
Li (PRPQ 7J0468 on S System
t x))
TX Series for Multi
Multi-platforms
platforms
C CS a
CICS also
so has
as Gateways,
Ga e ays, C
Clients,
e s, Co
Connectors
ec o s and
a d
Systems Management....…much much more 10
CICS - Its really Middleware !
APPLICATION BUSINESS LOGIC
CICS API
DATA MGMT SERVICES STORAGE MANAGEMENT
DATA BASE SUPPORT LANGUAGE SUPPORT
COMMUNICATION SERVICES OPERATOR INTERFACE
TASK MANAGEMENT
PROGRAM MANAGEMENT CICS SYSTEM MANAGEMENT
MONITORIING AND STATISTICS
TIME MANAGEMENT CONNECTIVITY MGMT
RECOVERY SERVICES WEB SERVICES
Communications Database Manager
g
Operating System
Hardware
11
CICS Systems Services - Security
Strong security facilities are available in the CICS to implement
identification, authentication and authorization
Uses SAF calls to access External Security Manager
Logon/Signon
L /Si
Passwords (8 characters upper/lower/special char)
Passphrase
p ((100 character))
CICS implements techniques to protect
Transactions
Resources
Commands
Encryption of communication flows 12
CICS Systems Services - Storage
Effective use of memory is key to performance
Supported Virtual Storage, Paging
Redesigned to .........
Utilize 31-bit addressing
Allow data to be put in memory
Provides storage protection within a region
Exploiting 64-bit
64 bit addressing
Storage has been a major evolution allowing for
significant transactional growth
13
Other CICS Systems Services
Abnormal termination and exception handling
Interval Control for time initiated events
Multitasking and subtasking
Different TCB's dispatched
Priority
P i it scheduling
h d li
Open Transaction Environment (OTE)
Threadsafe
JVM Server for threadsafe Java programs
Pooled JVM for non-threadsafe Java pprograms
g
(See CICS TS 4.2 Statement of Direction)
14
CICS Systems Management
Operator commands to control the transaction processing environment
(e.g. inquire/change trans, trace, purge trans ….)
CICS Explorer
p – Web based definition,, operation
p and monitoringg
Resource Definition Online (RDO) provides dynamic definitions
Dynamic Program Library Management without CICS restart
Exits and sample code allow for customization
TRUES – Task Related User Exits
GLUES – Global User Exits
URMS S – User Replaceable Modules
Monitoring tools are available to analyze performance and load
CICS Statistics Utilities
CICS Performance Monitor
CICS Performance Analyzer
CICSPlex SM features provide operational and definitional tools
Web based interface (WUI) included with CICS Transaction Server
15
CICS Communications Services
SNA - VTAM
3270 Terminals
APPC / LU 6 6.2
2 sessions
CICS or IMS ISC (InterSystem Communication)
FEPI – Front End Programming Interface
MRO – Multiple
M lti l RRegion
i O Operation
ti
XCF / MRO - Cross-system MRO (CTC or Coupling Facility)
EXCI – External CICS Interface
TCP/IP
TCP/IP Sockets
Region to Region IP Connectivity (IPIC)
Internet protocols (e.g. HTML, XML, SOAP)
Remote Procedure Calls (ONC RPC)
IIOP / EJB (N
(Notet St
Statement
t t off Di
Direction
ti TS 4
4.2)
2)
WebSphere MQ 16
CICS Data Services
M lti l ttypes, multi-access
Multiple lti within
ithi same ttransaction
ti
VSAM (KSDS, ESDS, RRDS)
and VSAM transparency too….
Data Base Management Systems (DBMS)
DB2
IMS DBCTL
And many other third party database products
Transient Data queues (TD queues)
Temporary Storage (TS)
Data Tables (>
( 2GB)
17
Data integrity, logging, recovery, backout, restart
CICS Application Development Services
Command level Application Programming Interface with
XPI, SPI added for Systems Programmers
Language S
L Supportt
(Assembler, COBOL, PL/I, C, C++, Java, REXX)
Dynamic Scripting with PHP and Groovy support
Execution Diagnostic Facility (EDF)
Command Interpreter
End to end debugger for client and server
Support for BMS/3270 screens, Web Services, and Atom feeds
18
But What Does a CICS Command
Look Like ?
EXEC CICS LINK EXEC CICS DOCUMENT CREATE
PROGRAM(‘MyProgram')
PROGRAM( MyProgram ) DOCTOKEN(Atoken)
COMMAREA(MyData) TEXT(AppPgmCA)
LENGTH(LengthofMyData) LENGTH(Input_data_len)
NOHANDLE
EXEC CICS RETURN
EXEC CICS READNEXT EXEC CICS WEB SEND
DATASET(‘MENUFILE') DOCTOKEN(Atoken)
INTO(MASTER-MENU-RECORD)
( ) STATUSCODE(StatusCode)
RIDFLD(MENU-KEY)
STATUSTEXT(StatusText)
LENGTH(OPTION-LENGTH)
RESP(CICS-RESPONSE)
LENGTH(StatusLen)
CLNTCODEPAGE('819')
EXEC CICS WRITEQ TD NOHANDLE
QUEUE('CSSL')
FROM(IDMSG) EXEC CICS GET
LENGTH(IDMSGLN) CONTAINER(MsgInput)
RESP(RESPVAL) INTOCCSID(UTF8 CCID)
INTOCCSID(UTF8-CCID)
SET(Msg-Ptr)
19
FLENGTH(Msg-Length)
CICS Events Processing
An event
e ent is an
anything
thing of significance to an enterprise
CICS allows users to capture, format and emit business
events from CICS
Events can be sent via HTTP, MQ queue, TS Queue or
Start Transaction for further processing
Events are bound to a CICS system using an event binding
editor built into CICS Explorer and Rational Developer for
System z with Java (RDz)
The bindings are enabled using a BUNDLE resource
CICS Explorer or Web User Interface (WUI)
RDO or CEMT
20
CICS – One or Many
y CICS Regions?
g
CICS can run in one single region
CICS can run as several independent regions on a
single system or across multiple systems
CICS can run as several interconnected regions on
multiple images on a single system or across several
systems
Sysplex
y p - z/OS
CICSplex – a group of CICS regions
CICSPLEX SM – CICSplex Systems Manager
21
CICS – What do a call a bunch of regions?
For manageability and recoverability CICS regions in a
CICSplex are often segregated by function
TOR – Terminal Owning Region
WOR – Web Owning Region
ROR – Remote Owning Region
AOR – Application Owning Region
FOR – File Owning Region
DOR – Data Owning Region
22
QOR – Queue Owning Regions
CICS – How Does Your System
y Grow?
ISC and MRO
InterSystems Communication - system to system
Multi-Region
M lti R i Operation
O ti - region
i tto region
i
XCF/MRO – Cross System Coupling Facility MRO
IPIC – IP InterCommunications
Multi-platform
Clients and Gateways
N single
No i l points
i t off ffailure
il
Systems Management
Workload Balancing 23
CICS MRO, ISC, IPIC and XCF
SNA or TCP/IP Network
TOR TOR TOR
AOR AOR AOR AOR AOR AOR
Sysplex A Sysplex A
MVSA MVSB MVSC
CF
Communicating among CICSs can be
using memory, SNA or TCP/IP 24
CICS e-business options
p
Distributed
WebSphere and
New CICS Java
CICS Transaction
Applications
Gateway
z/OS WebSphere
and New Classic
CICS Transaction CICS
Gateway Applications
Existing
CICS Native Classic CICS
Interfaces
Applications
A pragmatic approach to implementing e-business
e business solutions
25
CICS Transaction Gateway (TG)
and the Universal Client (UC)
Enables client applications to invoke services in CICS
Gives users at Web browsers access to business critical applications
running on CICS servers
Supported on multiple platforms:
Windows (XP, Vista, Windows 7)
Linux
HP-UX
HP UX
z/OS
AIX
Su
Sun Solaris
So a s
Client Interfaces
MQ client - WebSphere MQ queues
External Presentation Interface (EPI) – “3270 Screen Based”
External Call Interface (ECI) - “Call and Return with Data”
26
“Remote Procedure Call”
CICS Transaction Gateway
Support for IBM JEE and JCA connectors
WebSphere
S
Browser H e z/OS CICS Transaction Server
T r
T v
P l
e EJB
COBOL Program Cobol Program
t
TCP/IP
CICS Transaction ECI
Gateway
DB2
Command Bean
Databases
zServer
Any platform that can
run WebSphere and
CTG
27
CICS Client Interfaces
CICS Application
Program
3270 Presentation Logic Link Business Logic
EPI ECI External Call Interface
External
te a PRESENTATION
S O Interface
te ace External CALL Interface
Intelligent Workstation or Intelligent Workstation or
other CPU other CPU
28
CICS access with Java
CICS Client and Gatewayy classes
• Used by Java program to run a CICS transaction
• ECI, EPI calls available
JCICS Classes
• Allow CICS function execution for Java programs
Connection to CICS can be by
• CTG, WebSphere AS, either or both
• Program calls can be created by program
development workbenches
29
CICS 3270 Bridge
CICS Transaction Server
Web CICS CICS Business
B siness
3270
TCP/IP Web Logic Application
Browser Bridge
Service Interface Interface
Rapid enablement of 3270 Terminal Transactions
Allows 3270 terminal based transactions to run with map recompile
Utilities provided to recover old maps
CICS interprets HTML/XML flows, formats as if it came from 3270
Allows new web applications to be written using CICS skills
Linkable bridge allows EXCI invocation of 3270 terminal based trans
Can be sysplex enabled
30
CICS Web Support
pp
CICS Transaction Server
Web CICS CICS Business
TCP/IP Web Logic Application
Browser
Service Interface Interface
Gives CICS applications direct access to web browser
CICS interprets HTTP flows and executes transactions
Allows new web applications to be written using CICS skills
Secure Socket Layer (SSL) support using up to 256 bit encryption
C ifi
Certificates mappedd to MVS USERID
Mixed case password and passphrase support
Can be sysplex
y p enabled
31
CICS Service Oriented Architecture (SOA)
CICS Web Services
Msg Msg Msg CICS Msg Msg Msg
Service Handler Handler Application Handler Handler Handler Service
Handler
Requestor In – 1 In - 2 In – 3 Program Out – 1 Out -2 Out - 3 Provider
Pipeline Pipeline
Integrated
g into most current release
Defined by Web Service Description Language (WSDL)
CICS role in SOA can be service requestor, service provider or both
CICS Web Services utility programs
Assist in converting existing application into a Web Service
Use a Web Service provided by an external provider
Support for web services standards and technologies
WSDL 2.0
WS I Basic Profile 1
WS-I 1.1
1
WS-Security
WS-Trust
WS-Addressing
Message Transmission Optimization Mechanism / XML – Binary
Optimized Packaging (MTOM/XOP)
32
High Volume and High Availability
CICS Configuration
C fi ti
CTG DB2
•CICS
CTG •MQ
Port
•EXCI
Sharing CTG DB2
•CICS
CTG •MQ
WebSphere TCP/IP
CTG DB2
•CICS
CTG •MQ
Port
Sharing •EXCI
EXCI
CTG DB2
•CICS
CTG •MQ
Work Load Agent MVS Work Load Manager
33
CICS Tools
If CICS does not provide the needed functionality there are
many tools available from IBM and other vendors to assist in
creating and managing an online transaction processing system
For example IBM provides the following:
CICS Batch Application Control
CICS Configuration Manager for z/OS
CICS Interdependency Analyzer
CCICS
CS Online
O e Transmission
a s ss o Timee Opt
Optimizer
e for
o z/OS
/OS
CICS VSAM Recovery for z/OS
CICS Performance Analyzer
CICS Business Events Publisher
CICS VSAM Transparency
CICS Deployment Assistant for z/OS
CICS Service Flow Runtime
IBM Ti
Tivolili OMEGAMON XE ffor CICS on z/OS
/OS
REXX for CICS Transaction Server for VSE/ESA
34
Extensions to the CICS Information Center
CICS - Summary
CICS is ideal for existing transactional environments and
your new ones too…..
too It provides:
Availability, Maintainability, and Scalability
Tools for Development, Support and Operation
Continues exploitation of new hardware and software
technology
Plenty of education is available
35
•Some
Some Useful CICS Information
http://www.SHARE.org
p g
SHARE Website – Volunteer Center >
Projects/Programs
then select Data Program – CICS Project
You’ll
Y ’ll fifind
d iinformation
f ti on:
CICS Announcements
CICS Tools
CICS User Groups
CICS-L Discussion group (listserv)
CICS Presentations made at Share
36
Some useful IBM Websites
http://www.ibm.com/software/htp/cics/
CICS Product Information
http://publib.boulder.ibm.com/infocenter/cicsts/v4r2/index.jsp
CICS Information Center for CICS Transaction Server
http://www.redbooks.ibm.com/
Download Redbooks
http://www.ibm.com/cics/soap/
SOAP for CICS Information
http://www.ibm.com/software/ts/cics/education/
Li t available
Lists il bl training
t i i courses andd certifications
tifi ti
http://www.ibm.com/support/docview.wss?uid=swg27007241
pp
CICS SupportPacs
37
CICS Redbooks
www redbooks IBM com
www.redbooks.IBM.com
Introduction to CICS Dynamic Scripting SG24-7924-00
Redbook, published March 28, 2011
Threadsafe Considerations for CICS SG24-6351-03
Redbook, published March 14, 2011
Extend The CICS Explorer: A Better Way to Manage Your CICS SG24-7819-00
Redbook, published February 23, 2010
Java Application Development for CICS SG24-5275-03
Redbook, published February 24, 2009
Implementing CICS Web Services SG24-7657-00
Redbook, published November 12, 2008
Exploring Systems Monitoring for CICS Trans Gateway SG24-7562-00
Redbook published April 3
Redbook, 3, 2008
CICS Web Services Workload Management and Availability SG24-7141-01
Redbook published March 31, 2008
CICS Systems Manager in the WUI as the Principle Management Interface SG24-6793-01
Redbook, published November 16 2007
38
CICS
QUESTIONS
“I never said most of the things
g I said.”
“If you ask me anything I don't know, I'm not going to answer. “
-- Yogi Berra 39