Managing business-critical systems

The kind of applications that run in CICS® often form the core of the owning business and are critical to their success. If these applications fail, unexpected downtime or errors can result in significant revenue loss and impact on reputation. This significance means that they need to run on a highly available, reliable, robust platform. CICS is designed to handle these high-intensity, high-value applications through high workload capability, scalability, reliability, and availability.

Distributing work
CICS provides great flexibility in routing work across parts of the system without disruption to the workload or the application. The system administrator can distribute applications across instances of a CICS server, which is known as a CICS region, or across instances of IBM® z/OS®, known as LPARs, or across multiple mainframe hardware. This flexibility allows the system administrator to manage peaks in demand or to maintain operations if part of the system is taken down for maintenance or replacement.

An instance of a CICS server is commonly known as a CICS region, or often simply as a region. Each region can run many applications simultaneously. Each region has an upper limit of the number of tasks that can run concurrently. CICS allows you to span applications across multiple CICS regions so that you can scale the application to meet workload demands. By default, all CICS program resource definitions are configured to run the program they represent locally. If the remote system attribute is specified, CICS runs the program on another CICS region. Because the configuration is in the resource definition, no source code changes are needed to enable this capability. If the programs are using channels and containers to share data between themselves, CICS ships these across to the remote region. The programs are unware that they are running in different CICS regions.

CICS contains a component that is called the CICSPlex® System Manager. This component runs within a separate CICS region, which is known as the CICSPlex Management Address Space, or CMAS. The CMAS monitors the health of all the CICS regions that are running. It can then use this information to calculate which is the most region to route the work to.

IBM z/OS can run multiple instances of itself on a single mainframe. Each instance of z/OS is known as a logical partition or LPAR. An application can be distributed across a set of CICS regions, which are themselves distributed across different LPARs. Work that starts in one LPAR can be routed to a region in another LPAR.

Multiple IBM Z® hardware can be combined and LPARs deployed across them all. Not only does this increase the capacity of your application by increasing the hardware that supports the application, but it also increases the reliability of the application.

Simplified administration
This flexibility doesn’t come at a cost of complexity in management. The CMAS that is used to monitor the health of all CICS regions also supports single system image technology. This allows you to manage all your CICS regions from a single interface. From this single interface, changes to resource definitions or new applications can be installed and deployed across all your CICS servers in a single request. As you scale CICS to support a growing workload, your administration time need not increase as well.
Dynamic management
Components of a CICS application can be bundled together and deployed to a defined set of regions, called a platform. When the application is installed, the bundles for each component of the application are installed in suitable regions. You can install and manage multiple versions of the application at the same time on the same platform instance. You can update, monitor, measure, and remove the application as a unit and the associated resources are managed automatically by CICS. Platforms can be managed dynamically through policies that take effect when the system is running. You can define policies to monitor the use of resources or the overall health of the CICS system and to respond automatically when changes occur.
Measuring performance and operations
CICS provides a lot of functions to measure the performance and operational details of your applications. These metrics can be combined with other software that runs on the platform so that you can monitor the system as a whole and not as a collection of disparate pieces.

CICS can monitor programs and resources that make up applications in a way that is neutral to the programming language that is used by the application. During execution of the application, CICS writes monitoring records to a central location on the IBM Z platform where it is combined with other software that is running on the same platform. As well as monitoring the whole application, CICS can provide details on each part of the application.

Connecting to non-CICS systems
CICS can communicate with non-CICS systems through industry-standard networking protocols, such as TCP/IP, HTTP, web services protocols, SNA and RPC.