Let’s get down to basics. Just what exactly is CICS? IBM is currently labeling CICS as a Transaction Server. It provides the environment for multiple transactions to be processed simultaneously in real time, while accessing shared resources. CICS is often referred to as “middleware”, providing the environment between the operating system that performs the tasks and the users that request the tasks be performed, relieving them of the highly technical details to do things like writing data into a file.
In the early days of the mainframe, all work was done in “batch“. Instead of each person that had work for the computer to do entering it themselves, data was sent to keypunch operators who would key the data onto punched cards, which would be fed into a card reader along with the program that was to process the data. CICS empowered the people to enter data themselves, and have it processed and the results sent directly back to them. Back then, that meant a green screen, but today, results could come in the form of a web page or a SOAP response as well. IBM is constantly adding new functionality to CICS to make it continue to fit in with modern computing environments.
Who runs CICS? A better question may be, who doesn’t? Over 90% of the Fortune 500 companies run their businesses on CICS. CICS is used by companies from all industry categories. It is installed on 85% of all mainframes, and there are versions of CICS that run on AS/400’s, *nix servers, and Windows. It is hands down the most popular transaction server in existence.
What do the letters CICS stand for? I’m guessing that many people that work with CICS daily would be hard-pressed to answer that question. CICS stands for Customer Information Control System. But everyone refers to it by the acronym. In the US, it is commonly referred to by the letters (as in “see-eye-see-ess”), but outside the US it is usually called “kicks”.
What program languages does CICS support? CICS has always support COBOL and Assembler. Later, PL/I support was added. A few years back C and C## were added, and most recently, Java and REXX. Accessing resources that CICS controls (such as files and storage) is done through special API statements. By controlling the access to shared resources, CICS can manage multiple transactions running simultaneously, resulting in an environment where many people can access the same information independently and with little delay or overhead.
This quick overview just barely scratches the surface of CICS, but hopefully it will provide a good introduction to CICS for anyone that may have just heard about it. We’ll be delving into more advanced topics in future postings on this blog.