What is CICS (Customer Information Control System)?
CICS (Customer Information Control System) is middleware that sits between the z/OS IBM mainframe operating system and business applications. As an online transaction processing (OLTP) system, it is used to build customer transaction application programs. CICS can process large amounts of work quickly and is used for mission-critical applications such as banking transactions and credit card processing.
CICS online application programs -- including interfaces to files and databases -- constructed with COBOL have been a mainstay on IBM mainframes for more than five decades. CICS applications continue to run today because of their proven reliability in many enterprise systems. According to IBM, CICS processes over 1.1 million transactions per second, which is equivalent to 100 billion transactions a day.
As an OLTP, IBM continually supports and provides updates to CICS every 18 months. CICS offers developers a wide selection of APIs, editors and build tools. In addition to providing transaction management, CICS also supports web services and Java, event processing, Atom feeds and RESTful interfaces.
How does CICS work?
CICS is used widely in the brokerage and banking, debit and credit card processing, insurance, communications and airline and hospitality industries, and in many Fortune 500 companies throughout the world.
As an application server, CICS hosts applications that are written in COBOL, C, Java and PHP. Regardless of the programming language used, CICS functions as middleware that specializes in rapidly and dependably processing large payloads of online, real-time transactions when it is invoked by an application.
The following are additional examples of CICS transactions:
- a person withdrawing money from an ATM;
- an airline employee adding or updating flight information;
- a human resources associate adding, updating or deleting employee information; and
- a person paying a utility bill.
CICS is available in the following forms:
- CICS on distributed platforms. IBM TXSeries runs on AIX, Linux x86, Windows, Solaris and HP-UX operating systems, as well as on IBM iSeries and OS/2. It supports programming languages, including C, C++, COBOL, Java and PL/I applications in cloud environments and traditional data centers.
Who uses CICS?
The primary users of CICS are Fortune 500 companies that rely on rapid online transaction processing as a mission-critical core of their business. Common CICS users include insurance companies, telecommunications companies, governments, airlines, the hospitality industry, banks, stock brokerage houses and credit card processing companies.
The latest version of CICS, V5.6, offers the following:
- a choice of APIs, frameworks, editors and build tools for developers;
- enhancements for Java APIs and libraries;
- enhanced security support for CICS TS as an HTTP (Hypertext Transfer Protocol) client;
- new CICS security domain monitoring;
- improved reporting and action for z/OS short-on-storage conditions;
- improved management of CICSPlex System Manager data space usage;
- support for COMMAREAs up to 32 KB on distributed program links; and
- support for IBM z/OS Workload Interaction Correlator.
History of CICS
CICS was first introduced by IBM in 1968 as a program to support BTAM (basic telecommunications access method) terminals, but it was not expected to last more than several years.
By 1972, CICS was operating in DOS and OS environments, and had proved itself to be easily implemented and effective for processing online transactions, thanks to its multithreaded processing architecture.
Popularity for CICS continued to grow and in 1986, IBM announced CICS support for the record-oriented file services defined by Distributed Data Management Architecture (DDM).
IBM continued to provide CICS on subsequent versions of its mainframe operating system throughout the 1980s and 1990s, beginning with MVS in 1987 and ESA in 1989, and continuing to VSE in 1995, OS/390 in 1996 and finally to z/OS in 2001. As new versions of z/OS have been released, CICS continues to be the primary z/OS transaction processing middleware.
Learn which IBM tools non-IBM Z developers can use to analyze application modernization changes.