CICS - Introduction



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

CICS - Introduction

Introduction

In this IBM Redpaper publication, you'll learn why IBM CICS has been the trusted core of enterprise applications and transaction processing for over 50 years and why through years of innovation this trust is maintained.
It provides an overview for writing, updating and running CICS applications as well as the new APIs, capabilities and functions that will allow you to modernize these applications to run as part of a hybrid cloud application.

1.1 CICS and the hybrid multi-cloud

CICS is a mixed language application server that runs on IBM Z.
Over the 50 years since CICS was introduced in 1969, enterprises have used the qualities of service that CICS provides to allow them to create high throughput, secure, transactional applications that have powered their business.
As the IT landscape has evolved, so has CICS to allow these applications to integrate with new platforms and therefore still provide value to the rest of the business.
Because of this capability, a lot of businesses still rely on CICS to power their core applications.

When CICS debuted the IT landscape was primarily dominated by batch processing.
Any time a record was updated, for example a bank account or customer details, these changes would be batched together with all the other changes and applied sequentially to the main records.
CICS introduced the ability to update that record immediately without the need for a batch window to run.
CICS would handle all of the transactionality of the processing without the application programmer having to worry about what would happen if the record you wanted to update was locked.
As the landscape moved to embrace online transactions, CICS introduced capabilities to support different programming styles such as conversational and pseudo conversational.
These allowed throughput to increase, and more people could update records at the same time.

Today the cloud has dramatically changed the IT landscape again.
Being able to make use of services, functions and platforms - as a service, allows organizations to create digital experiences for their clients.
However at the heart of these experiences is still the core applications hosted by CICS.
Since 89% of enterprises predict to needing to harness multiple public and private or on premise cloud we call this landscape the hybrid multi-cloud.

1.2 Migrating to the hybrid multi-cloud

Migrating to the hybrid cloud requires clients to look at their existing IT assets and decide how they can migrate them to the cloud, and there are three possible methods to achieve this.

1.2.1 Maintain the status quo

The first and probably the simplest is to maintain the status quo or just keep the existing applications working.
Although this does not incur extra cost or introduce new risk the application might fall behind technologically.
This might eventually incur problems as the business tries to embed these applications into new digital experiences

1.2.2 Cloud native applications

The second method is to migrate all their applications to the cloud as cloud native applications.
This is not only a high risk approach as there is no guarantee that the migrated application will have the same performance, security or transactional capabilities as the one it replaces, but it's also an expensive approach.
Not only is the cost of the migration likely to be high.
But you will also have to maintain the existing applications until the migration is complete, thus incurring further cost.

1.2.3 Modernize existing applications

The final method, and perhaps the best is to modernize the applications that you have, allowing them to integrate with cloud native applications.
This modernization can be achieved either by constructing APIs that allow new cloud native applications to connect to your existing assets, re-writing parts of your application in newer languages and hosting them back on CICS or by using CICS capabilities to extend your applications to provide new capabilities and functions.
This is the type of modernization that we focus on in this publication.
The paper takes a traditional example application, shows you how it works and then extend it, re-write portions of functionality, and API enable it.
While doing so it explains how CICS applications can make use of continuous integration and continuous delivery to allow you to deliver, test and deploy code into CICS easily and with quality.

1.3 CICS hello world COBOL example

Example 1-1 shows a small COBOL batch program that does nothing except write the phrase "Hello World" to the terminal.

CICS provides Application Programming Interfaces or APIs to programs to allow them to interact with resources.
Example 1-2 the same code but using CICS APIs to write the same string to the terminal.

In Example 1-2 we're looking at the identification division of our COBOL program, and here we can see that our program is called ‘Hello’, and then it’s in the procedure division that the interesting stuff happens.

We have two API calls here, one to write the string 'hello world' to the terminal that started the program and one to let CICS know that this program has completed.

This document was created or updated on December 17, 2020.


© Copyright IBM Corp.