introduction to cics - ibm redbooks · services provided by cics how cics applications are deÞned...

146
Introduction to CICS Course introduction

Upload: lamkhue

Post on 29-Aug-2019

286 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Introduction to CICSCourse introduction

Page 2: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

What is CICS?

What is an application server?

Why use an application server?

Course introduction

Page 3: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Services provided by CICS

How CICS applications are defined

Scaling CICS to meet demand

Course introduction

Page 4: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

What is CICS?Overview of CICS

Page 5: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

What is CICS?

Application server on IBM Z

Most application servers support a single language

CICS supports many different languages

Page 6: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Java

Java Enterprise Edition

COBOL and PL/l

C, PHP, Assembly and others

Third party vendor languages

Mixed language application server

Page 7: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Who uses CICS?

Banking Transport Retail Insurance

Fortune 500 companies

Page 8: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Why use CICS?

Mission critical applications

Downtime measured in $100,000+

Stock trading Credit cards

Page 9: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Why do they use CICS?

Google searches:40,000 – 60,000

> 200,000Transactions per second

Page 10: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Scalability

Scalability - is the capability of a system, network, or process to handle a growing amount of work

Why do they use CICS?

Page 11: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Reliability

Reliability - an attribute of any computer-related component that consistently performs according to its specifications.

Why do they use CICS?

Page 12: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Availability99.999%

Availability - the probability that a system is operational at a given time

Why do they use CICS?

Page 13: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Scalability Reliability Availability

99.999%

Why do they use CICS?

Page 14: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Not just for mission critical apps

Versatility and extensibility

See ‘How Walmart Became a Cloud Services Provider with IBM CICS’

Why do they use CICS?

Page 15: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Summary

CICS is used in a wide range of industries

CICS provides support for applications in a number of different languages

CICS has exceptionally high qualities of service

Page 16: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

What is CICS?What is an application server?

Page 17: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Mixed language application server

An application server hosts applications

What is an application server?

Page 18: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Application: Book a holiday

Example application

Page 19: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Application: Book a holiday

Flight Hotel

+

Example application

Page 20: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Application: Book a holiday

Program: Book Holiday Interface Logic

Example application

Page 21: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Application: Book a holiday

Program: Book Holiday

Call Book Flight

Program: Book Flight Business Logic

Interface Logic

Example application

Page 22: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Application: Book a holiday

Program: Book Holiday

Call Book Hotel

Program: Book Flight

Program: Book Hotel

Example application

Page 23: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Call Book Flight,Call Book Hotel

Return Success or Fail

Example application

Program: Book Holiday

Program: Book Flight

Program: Book Hotel

Application: Book a holiday

Page 24: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Development concerns

Transactionality

Application: Book a holiday

Program: Book Holiday

Call Book Flight,Call Book Hotel

Return Success or Fail

Program: Book Flight

Program: Book Hotel

Page 25: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Development concerns

Web communication

Application: Book a holiday

Program: Book Holiday

Call Book Flight,Call Book Hotel

Return Success or Fail

Program: Book Flight

Program: Book Hotel

Page 26: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Development concerns

Multiple users

Application: Book a holiday

Program: Book Holiday

Call Book Flight,Call Book Hotel

Return Success or Fail

Program: Book Flight

Program: Book Hotel

Page 27: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Development concerns

Security

Application: Book a holiday

Program: Book Holiday

Call Book Flight,Call Book Hotel

Return Success or Fail

Program: Book Flight

Program: Book Hotel

Page 28: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Development concerns

TransactionalityWeb communication

Multiple users…

Application: Book a holiday

Program: Book Holiday

Call Book Flight,Call Book Hotel

Return Success or Fail

Program: Book Flight

Program: Book Hotel

Page 29: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Introducing the application server

TransactionalityWeb communication

Multiple users…

Application Server: CICS

Application: Book a holiday

Program: Book Holiday

Call Book Flight,Call Book Hotel

Return Success or Fail

Program: Book Flight

Program: Book Hotel

Page 30: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Introducing the API

TransactionalityWeb communication

Multiple users…

Application Server: CICS

API

Application: Book a holiday

Program: Book Holiday (Java)

Call Book Flight,Call Book Hotel

Return Success or Fail

Program: Book Flight (C)

Program: Book Hotel (COBOL)

Page 31: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Development concerns

TransactionalityWeb communication

Multiple usersMixed languages

Application Server: CICS

Application: Book a holiday

Program: Book Holiday (Java)

Call Book Flight,Call Book Hotel

Return Success or Fail

Program: Book Flight (C)

Program: Book Hotel (COBOL)

Page 32: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Other concerns beside business logic

Application server handles these other concerns on behalf of the application

Faster time to value

Provided for mixed language applications

Summary

Page 33: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

CICS as an application serverSection overview

Page 34: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Connection technologies

Security

Passing data between programs

Accessing databases

Monitoring

Transactions

CICS as an application server

Page 35: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Summary

Services CICS provides to applications

CICS uniquely provides these to mixed language applications

Page 36: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

CICS as an application serverConnecting to your application

Page 37: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Connecting over the web

Application: Book a holiday

Application Server: CICS

Book Holiday Java program

Book FlightC program

Book HotelCOBOL program

Page 38: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Connecting via a queue

Application: Book a holiday

Book Holiday Java program

Book FlightC program

Book HotelCOBOL program

Application Server: CICS

Page 39: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Connecting via a queue

Application: Book a holiday

Application Server: CICS

Book Holiday Java program

Book FlightC program

Book HotelCOBOL program

Page 40: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Different data formats

Application: Book a holiday

JSON

Application Server: CICS

Book Holiday Java program

Book FlightC program

Book HotelCOBOL program

{ “destination”:”New York”}

Page 41: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Different data formats

Application: Book a holiday

XML

Application Server: CICS

Book Holiday Java program

Book FlightC program

Book HotelCOBOL program

<destination> New York</destination>

Page 42: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Application: Book a holiday

JSON

Application Server: CICS

Book Holiday Java program

Book FlightC program

Book HotelCOBOL programXML

CICS data transformation

Page 43: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Application: Book a holiday

native data

JSON Application Server: CICS

Book Holiday Java program

Book FlightC program

Book HotelCOBOL program

XML

{ “destination”:”New York”}

<destination> New York</destination>

CICS data transformation

Page 44: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Faster time to value

No code changes, less risk

Connect existing programs to new technologies

CICS data transformation

Page 45: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

CICS provides a range of connection technologies

Data transform technologies

Efficient reliable connection

Summary

Page 46: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

CICS as an application serverSecuring your application

Page 47: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Identification and authentication

Authorization

Encryption

Securing your application

Page 48: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Application Server: CICS

Application: Book a holiday

Book Holiday Java program

Book FlightC program

Book HotelCOBOL program

Identification and authentication

User: AlicePassword: passw0rd

User: BobPassword: letmein

Page 49: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Username and password

SSL certificate

Open Authorization

CICS handles authenticating the token

Identification and authentication

Page 50: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Is the identification provided ‘valid’

CICS shares the System Authentication Facility of z/OS

Single security control point for the entire platform

Identification and authentication

Page 51: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Can this user access this resource

Can this user perform this action

Authorization rules held in SAF

Applied to individual users or groups of users

Authorization

Page 52: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Application Server: CICS

Application: Book a holiday

Book Holiday Java program

Book FlightC program

Book HotelCOBOL program

Encryption

User: AlicePassword: passw0rd

User: BobPassword: letmein

Page 53: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Identification and authentication

Authorization

Encryption

Security single point of control

Summary

Page 54: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

CICS as an application serverCalling programs and transferring data

Page 55: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Calling a program

Application Server: CICS

Application: Book a holiday

Book Holiday Java program

Book FlightC program

Book HotelCOBOL program

Page 56: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Calling a program in the same language

Application Server: CICS

Application: Book a holiday

Book FlightJava program

Book Hotel Java program

Book Holiday Java program

Page 57: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Calling a program as an external service

Application Server Application Server

Book FlightC program

Application Server

Book HotelCOBOL program

Book HolidayJava program

XML

JSON

Page 58: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Complex maintenance and administration

Inefficient solution

Calling a program as an external service

Page 59: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Language independent

Allows one program to call another

CICS LINK API

CICS handles all the mixed language concerns in a robust manner

CICS API

Page 60: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Book FlightC program

Book HotelCOBOL program

CICS link

Book Holiday Java program

Page 61: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Application Server: CICS

Application: Book a holiday

Book FlightC program

Book HotelCOBOL program

CICS link with data

From: LHR

To: LDW

Date: 14/01/17

Time: 1300 Near: LDW

Date: 14/01/17

Nights: 5

Stars: 3

Book Holiday Java program

Page 62: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Channels and containers used to pass data between programs

Container – named data area

Channel – a collection of containers

The CICS LINK API call provides a parameter to specify a channel name

Channel and containers

Page 63: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Calling a program and passing data

Book HolidayJava program

Book FlightC program

From-Airport

FLIGHT-CHANNEL

LHR

Dest-Airport

LDW

Time

1300

Date

14/01/17

Booking-ref

ABCDE1234

Page 64: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Programs can call others irrespective of language

Mixed language application server

New programs can easily re-use existing business logic

Summary

Page 65: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

CICS as an application serverAccessing databases

Page 66: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Accessing databases

Application Server: CICS

Application: Book a holiday

Book Holiday Java program

Book Flight COBOL program

Book HolidayJava program

Page 67: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Efficient connectors to databases

Use language specific APIs for access

CICS is not a database

Page 68: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

When things go wrong

Application Server: CICS

Application: Book a holiday

Book Holiday Java program

Book Flight C program

Book HotelCOBOL program

Page 69: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Summary

Page 70: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

CICS as an application serverMonitoring

Page 71: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Service Level Agreements

Application use

Capacity planning

Monitoring an application

Page 72: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Monitoring use

Application: Book a holiday

Application Server: CICS

Book Holiday Java program

Book FlightC program

Book HolidayCOBOL program

Page 73: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Language independent monitoring

Monitoring records written to a central location

Monitoring use

Page 74: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Monitoring use

Time of day

Num

ber o

f use

rs

Page 75: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Application: Book a holiday40%

Application Server: CICS

Book Holiday Java program

Book FlightC program

Book HolidayCOBOL program60%

Monitoring use

Page 76: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Pushing to the limit

Application: Book a holiday

Monitoring Records

Monitoring Reports

Book Holiday Java program

Application Server: CICS

Book FlightC program

Database

Book HolidayCOBOL program

Page 77: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

CICS provides functions to measure application performance

Measure performance over a mixed language application

No changes to program source code

Monitor the whole application, not just the sum of its parts

Summary

Page 78: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

CICS as an application serverTransactions

Page 79: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Handling problems

Application Server: CICS

Application: Book a holiday

Book Flight C program

Book HotelCOBOL program

Book Holiday Java program

Page 80: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Handling problems

Application Server: CICS

Application: Book a holiday

Unit of work

Book Flight C program

Book HotelCOBOL program

Book Holiday Java program

Page 81: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Transactionality applies to all resources

All requests processed within a unit of work

All updates are in doubt until the transaction is completed

Extended transactions

Page 82: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Syncpoint

Rollback

Syncpoint API

Page 83: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Transactions are not unique to CICS

Java Transaction Architecture (JTA)

Maintain transaction over mixed language applications

Mixed language transactions

Page 84: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Transactions are important

Each request is a transaction

Implicit transaction model

Transactions supported over mixed languages

Summary

Page 85: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

CICS as an application serverSummary

Page 86: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

CICS provides services to applications

Single or mixed languages applications

Extend existing applications

Operate application as a single entity

Summary

Page 87: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Configuring an application in CICSIntroduction to resource definitions

Page 88: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example application

Application: Book a holiday

Application Server: CICS

Program: Book Flight

Program: Book Hotel

Program: Book Holiday

User provides holidayinformation

Holiday is booked

User receives response

Page 89: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example application

Application: Book a holiday

Application Server: CICS

Program: Book Flight

Program: Book Hotel

TCPIPSERVICE

URIMAP

PROGRAM

Program: Book Holiday

Page 90: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Handling a request from the web

Application: Book a holiday

Application Server: CICS

Program: Book Flight

Program: Book Hotel

TCPIPSERVICE

URIMAP

PROGRAM

Program: Book Holiday (Java)

Page 91: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example web request

http://cics.ibm.com:80/Holiday/AliceInfo

Hostname = http://cics.ibm.com

Port = 80

Request = Holiday/AliceInfo

Page 92: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Listening for a web request

Defines the port for CICS to listen on

Can specify security options such as to use SSL encryption

Resource Definition: TCPIPSERVICE

Application Server: CICS

Page 93: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Reaching our application

Routes a request to target program

‘/Holiday/*’ to Book Holiday

Resource Definition: URIMAP

http://cics.ibm.com:80/Holiday/AliceInfo

Application Server: CICS

Program: Book Holiday (Java)

Page 94: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Our application program

Reference to the actual program

Describes how and where the program should execute

Resource Definition: PROGRAM

Application Server: CICS

Program: Book Holiday (Java)

Page 95: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

What has happened so far

User has sent a request to CICS over the web

CICS has listened for and routed that request to our program

Application Server: CICS

Program: Book Holiday (Java)

Page 96: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

What happens next

Our program will process the request and respond to the user using the same communication channels and protocols.

Application Server: CICS

Program: Book Holiday (Java)

Page 97: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Resource definitions

Layer of abstraction above underlying resources

Application: program

Infrastructure: HTTP connection

Page 98: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Why use resource definitions?

Allow configuration of various application and system components

Programs refer to resource definition not to the underlying resource

Underlying resource can be changed without needing to alter the program

Page 99: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example

Replace ‘Book Hotel’ with Java program

‘Book Holiday’ can remain unaltered

Calls Book Hotel through the CICS API

Application: Book a holiday

Book Flight C program

Book Hotel COBOL program

Book Holiday Java program

Page 100: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

TCPIPSERVICE

URIMAP

PROGRAM

Other definitions available to configure other capability

Summary

Page 101: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Configuring an application in CICSWorking with resource definitions

Page 102: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Resource definitions

CICS provides interfaces to createresource definitions

Definitions can be grouped together

Page 103: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example application

TCPIPSERVICE

URIMAP

PROGRAM

PROGRAM

PROGRAM

DATABASE

Page 104: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example application

TCPIPSERVICE

URIMAP

PROGRAM

PROGRAM

PROGRAM

DATABASE

Example application

PROGRAM

PROGRAM

PROGRAM

DATABASE

Page 105: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Installing resources, installs the application

Installed resources control the application

Resource definitions

Page 106: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

PROGRAM resource

USE COUNT– how many times theprogram has been used

NEWCOPY – reload the program into CICS

Page 107: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Temporarily disable new requests

Change the security profile

TCPIPSERVICE resource

Page 108: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Resource definitions are used to install applications

Resource definitions can also control applications

Summary

Page 109: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Scaling a CICS applicationIntroduction to scaling

Page 110: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Introduction to scaling

Page 111: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example application

Application Server: CICS

Application: Book a holiday

Program: Book Flight

Program: Book Hotel

Program: Book Holiday

Page 112: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example application

CICS region

Application: Book a holiday

Program: Book Flight

Program: Book Hotel

Program: Book Holiday

Page 113: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example application

CICS region

Application: Book a holiday

Program: Book Flight

Program: Book Hotel

Application: Book a cruise

Program: Book Day Trip

Program: Book Holiday

Program: Book Cruise

Page 114: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Enough is never enough

Running a region at maximum is not always optimum

Single point of failure

CICS applications can span multiple regions

Page 115: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example application

Application: Book a holiday Application: Book a cruise

CICS region CICS region

Program: Book Day Trip

Program: Book Hotel

Program: Book Holiday

Page 116: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Configuration changes

REMOTESYSTEM attribute

No program source code changes required

Channel and containers are shipped to the remote region

Page 117: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Summary

CICS can scale to run very large workloads

Programs can be run across multiple CICS regions

How to best split an application over multiple CICS regions

Page 118: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Scaling a CICS applicationSplitting an application into layers

Page 119: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Applications split into layers

Each layer provides a different capability

Interface logic

Business logic

Each layer is a subset of programs

Application layers

Page 120: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Interface logic

Interface Logic

Business Logic

Page 121: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Interface logic

Business Partner

Business Logic

Web Mobile

Page 122: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Business logic

REST API

Business Logic

Web Web Service

Page 123: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Naming conventions

WOR

AOR

WOR WOR

Page 124: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Why split into layers

Different layers require different runtime characteristics

Each request might spend more time in certain layers

Each layer can be scaledindependently

Page 125: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Splitting the example into layers

CICS region

Application: Book a holiday

Program: Book Flight

Program: Book Hotel

Program: Book Holiday

Business Logic

Interface Logic

Page 126: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Book a holiday – in two layers

Program: Book Flight

Program: Book Hotel

CICS region

CICS region

Business Logic

Interface Logic Program: Book Holiday

Page 127: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example application

Program: Book Flight

Program: Book Hotel

CICS region

Program: Book Flight

Program: Book Hotel

CICS region

CICS region

Program: Book Holiday

Page 128: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example application

Program: Book Flight

Program: Book Hotel

CICS region

Program: Book Flight

Program: Book Hotel

CICS region

CICS region

Program: Book Holiday

CMAS

Page 129: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Example application

Program: Book Flight

Program: Book Hotel

CICS region

CICS region

Program: Book Holiday

Program: Book Flight

Program: Book Hotel

CICS region

Program: Book Flight

Program: Book Hotel

CICS region

CMAS

Page 130: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Summary

Applications split into layers

Each layer runs in one or more region

CMAS can route work to any of the regions

Page 131: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Scaling a CICS applicationScaling for resilience

Page 132: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Scaling for resilience

Program: Book Flight

Program: Book Hotel

CICS region

Program: Book Flight

Program: Book Hotel

CICS region

AOR

WOR

CICS region

Program: Book Holiday

Page 133: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

AOR

WOR

Scaling for resilience

Program: Book Flight

Program: Book Hotel

CICS region

Program: Book Flight

Program: Book Hotel

CICS region

CICS region

Program: Book Holiday

CMAS

Page 134: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

AOR

WOR

Scaling for resilience

Program: Book Flight

Program: Book Hotel

CICS region

Program: Book Flight

Program: Book Hotel

CICS region

CICS region

Program: Book Holiday

CMAS

Page 135: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Scaling for resilience

Program: Book Flight

Program: Book Hotel

CICS region

Program: Book Flight

Program: Book Hotel

CICS region

CICS region

Program: Book Holiday

TCPIPSERVICECICS region

Program: Book Holiday

TCPIPSERVICE

Page 136: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Scaling for resilience

LPAR – single instance of z/OS

A single mainframe can support multiple LPARs

CICS can be distributed across LPARs

Page 137: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Scaling for resilience

LPAR 1

CICS regionCICS region

CICS regionCICS region

LPAR 2

CICS regionCICS region

CICS regionCICS region

Page 138: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Scaling for resilience

LPAR 1

CICS regionCICS region

CICS regionCICS region

LPAR 2

CICS regionCICS region

CICS regionCICS region

Page 139: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Scaling for resilience

LPAR 1

CICS regionCICS region

LPAR 2

CICS regionCICS region

CICS regionCICS region

CICS regionCICS region

Page 140: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Single system image

CICS region

CICS regionDefine / install / administer resource

CICS region

CMAS

Page 141: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Summary

CICS applications scale across servers, operating systems and hardware

Workload can be maintained during upgrading or system failure

99.999% reliability

Page 142: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

SummaryCourse review

Page 143: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Course review

CICS is an application server on z Systems

Used by majority of Fortune 500 companies

Runs mission critical applications

Page 144: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Course review

CICS provides all the capabilities of an application server

CICS can host applications consisting of programs written in different programming languages

Single API allows programs to call and share data

Page 145: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Course review

As your business scales so does your application with CICS

CICS can provide resilience across many instances

Single system image allows you to control all instances from a single interface

Page 146: Introduction to CICS - IBM Redbooks · Services provided by CICS How CICS applications are deÞned Scaling CICS to meet demand Course introduction

Course review

CICS is an unparalleled mixed language application server

Security, transactionality, management, monitoring are independent of programming language