CICS Components and Transactions
CICS (Customer Information Control System) is a transaction server that runs primarily on IBM mainframe systems under z/OS and z/VSE.
CICS is a transaction manager designed for rapid, high-volume online processing. This processing is mostly interactive (screen-oriented), but background transactions are possible.
A D V E R T I S E M E N T
CICS can run online applications on the mainframe computer because CICS acts almost like a separate operating system: it manages its own memory address space, runs its own file management functions, and manages the concurrent execution of multiple transaction applications.
While CICS has its highest profile among financial institutions such as banks and insurance companies, over 90 percent of Fortune 500 companies are reported to rely on CICS (running on z/OS) for their core business functions, beside many governments. CICS is used in bank-teller applications, ATM systems, industrial production control systems, insurance applications and many other types of interactive application.
A CICS transaction is a set of operations which together perform a task. Usually, the majority of transactions are relatively simple tasks such as requesting an inventory list or entering a debit or credit to an account. On IBM System z servers, CICS easily supports thousands of transactions per second, making it a mainstay of enterprise computing.
CICS applications comprise transactions which can be written in numerous programming languages, including COBOL, PL/I, C, C++, IBM Basic Assembly Language, REXX, and Java.
Each CICS program is initiated using a transaction identifier. CICS screens are sent as a construct called a map, a little program created with BMS (Basic Mapping Support) assembler macros. The end user inputs data, which is made accessible to the program by receiving a map from CICS. CICS screens may contain text that is highlighted, has different colors, and/or blinks. An example of how a map can be sent through COBOL is given below.
SEND MAPSET(MPS1) MAP(MP1)
CICS is actually more than just one product (indeed more that one product from one company). IBM have four different code bases all of which are called CICS. In addition to CICS IBM have two further TPM, IMS and TPF. Six Transaction Process Monitors, not bad for one company, but it is rather large. Here's the, currently, exhaustive, in our estimation, list of CICSen.
Mainframe CICS :Currently available for z/OS (quondam MVS/ESA) operating system on IBM and IBM look alike mainframe architectures. Both the successors to the original 360 and the newer MPP based 390 ones are supported. The current release is now called CICS TS 3/2. This is the definitive CICS, it has a slight variant which can be used on the older VSE operating system. This CICS now has the ability to run Enterprise Java Beans (EJB) in conjunction with `ordinary' CICS programs. More can be found at the OS/390 CICS web site.
iSeries (quondam AS/400) CICS (now withdrawn) :This was found on the IBM's AS/400 series computers, but is now withdrawn.
CICS/ETK (officially TXSeries for Multiplatform) :"CICS/ETK" is not really the official name since it has various names on the different platforms that it finds itself. This is the CICS that was formally built on top of the Encina Tool Kit (ETK). It is found on various UNIXs, AIX, DIGITAL/UNIX (formally known as OSF/1, now withdrawn), HP-UX, SINIX (now withdrawn) and Solaris. It is also latterly found in Windows NT (where it was once known as Transaction Server) and now Windows 2003. This is the CICS that ZOIS is familiar with (and specialises in) and its current release is v6.2. The oft-promised Linux version still seems to be in the works.
As part of the reorganisation that took place when IBM fully purchased Transarc responsibility for this particular CICS moved to Transarc. It was then bundled with Encina itself (not just the Tool Kit) and the resultant package called TXSeries. It was, for a time, further bundled up in Websphere Enterprise Edition (WSEE), IBM's major offering in the Enterprise Java Beans (EJB) server market. Subsequently the Encina component was withdrawn and The IBM TXSeries web site has more.
CICS/Small-Systems (now sort-of withdrawn) :This isn't a fully functional Transaction Monitor in the true sense, it makes a good job of implementing the API but cannot participate in Transactions (Logical Units of Work). It was available on OS/2 and on Windows NT, where it was the Official CICS for NT prior to version 4. This CICS made a comeback as part of the Visual Age for COBOL development suite (on Windows platforms).
CICS is a client/server system, with clients making requests of servers. In CICS the servers are known as Application Servers or AS. These are individual operating system processes running under the control of the Application Manager or AM. The AS's are grouped into domains known as Regions. The Regions support a number of Programs known as Transaction Programs, or simply (and confusingly for the non-CICS person as Transactions). These programs are loaded dynamically into the Application Servers upon demand and are identified by often cryptic four letter names (four letters is the maximum).
CICS's Transactions are managed by the TRAN component of the Encina Tool Kit and thus it is the individual ASs which track the Transactions in a separate thread of control, much as Encina. The Application Servers are permanently connected to the Resource Managers (such as databases). With the retirement of Encina the TRAN component has been internalised and is now known as CICS/OLTP.