Customer Information Control System
Customer Information Control System ( CICS ) is a transaction monitor from IBM .
CICS is available under the / 390 mainframe operating systems z / OS ( MVS ) and VSE and, in a modified form as an Encina extension, under AIX , HP-UX , Solaris and Windows Server . In contrast to TSO, in which each user has their own address space, all CICS users run in the same address space of the CICS system.
pronunciation
Depending on the country, the abbreviation CICS is pronounced differently:
- In Germany mostly like zicks : Nothing works without CICS! .
- More like kicks in the UK
- In the US, kicks and see eye see ess are common.
Application development under CICS
The programming languages COBOL , C , C ++ , PL / I and assembler , which are traditionally used on mainframes , are supported, as has Java for some years .
The application API for non- OO languages consists of EXEC CICS .....
commands that are translated into the guest language by a preprocessor . Corresponding CICS classes are available to Java programmers.
In contrast to IMS , the coding of the EXEC CICS blocks is identical in all standard HOST languages (see above). An EXEC CICS ASSIGN ..... looks identical in COBOL , C , C ++ , PL / I and assembler .
CICS programs interact with a user or another application. A large number of mechanisms and functions are available to the programmer for this purpose. For classic, screen-oriented applications z. B. The following functions are important
- SEND MAP / RECEIVE MAP for displaying information and collecting user entries
- RETURN TRANSID to end the CICS task specifying the subsequent transaction after user input
- READ TS QUEUE / WRITE TS QUEUE for buffering program data while the CICS task is finished and waiting for input or for communication with other applications.
Transactions in the CICS
A CICS transaction consists of one or more units of work (UOW). A UOW is what is understood in the literature as a transaction and is associated with the term ACID ( Atomicity , Consistency , Isolation and Durability ). The outdated term Logical Unit of Work (LUW) is still used synonymously for UOW.
Every CICS transaction runs under a predefined four-digit transaction code. This transaction code defines, among other things, the name of the program which receives execution control when the transaction is started.
With the start of the transaction, a unit of work begins, with the command EXEC CICS SYNCPOINT
the current unit of work is committed ( committed ) and a new unit of work begins. The transaction ends with EXEC CICS RETURN
and also ends the current unit of work with SYNCPOINT
. A CICS transaction arises traditionally
- by entering a transaction code on a terminal (or in the terminal emulation of a PC)
- from a CICS application with
START TRANSID()
orRETURN TRANSID()
(especially for "pseudoconversational" transactions) - CICS-internal: e.g. B. Trigger on TD queue.
- from another CICS with Transaction Routing or Distributed Program Link (DPL).
CICS transactions can also be started "externally" by programs:
-
EXCI
-Call from z / OS ( MVS , Multiple Virtual Storage), e.g. B. TSO (Time-Sharing Option) or batch processing . - In the MVS from the operator console or from software consoles (e.g. TSO, Netview).
-
eci
-Call from non-MVS platforms (Unix, Windows, OS / 2) - Use of standard protocols:
- TCP / IP - Sockets and APPC (Advanced Program to Program Communications)
- IIOP (Internet Inter ORB Protocol) for CORBA applications and Enterprise JavaBeans
- means of HTTP / HTTPS can be CICS as a web server using
History of CICS
According to Bob Yelavich , Ben Riggins is the father of CICS.
There are numerous myths surrounding the prefix of the CICS messages DFH . Bob Yelavich points out that this letter combination was simply assigned by IBM and that it is not an abbreviation (see IMS and the prefix DFS ), but some sources claim that the first CICS was a product of a local electricity provider with the company abbreviation DFH and was later bought by IBM.
The true history of CICS cannot be clarified today, all that is clear is that CICS emerged in the early 1970s and was not originally from IBM.
In the GDR there was a data communication system called DAKS at the end of the 1980s , which ran under OS / ES-SVS, the GDR clone of the IBM OS / VS2 operating system. The prefix of the DAKS messages was DKS , the semantics of the messages were identical (e.g. Control is being given to DAKS ). The State Bank of the GDR used it to implement its terminal system. It was also used in numerous GDR companies that used the EC 1055 M. However, after the reunification, DAKS lost its importance, since after the monetary, economic and social union most of the data centers in the GDR brought their software and hardware to Western standards.
Future of CICS
CICS is used in numerous large companies around the world. Since CICS is constantly being further developed and the current versions support both common programming languages such as C / C ++ and Java, as well as having corresponding interfaces to the Internet (CICS Web Support) and to web services, one can assume that the market for CICS will at least in the next Will remain relatively stable for years. In the new customer market segment, CICS will have to assert itself in the future against ever increasing competition with systems based on inexpensive servers or hosts with high availability .
literature
- CICS Application Programming Guide
- Norbert Denne: CICS. Theory and practice. 3. Edition. DGD, 2002, ISBN 3929187078
- Thomas Kregeloh, Stefan Schönleber: CICS A practice-oriented introduction ISBN 3-528-05272-4
Web links
- CICS manuals (English)
- CICS manuals (English)
Individual evidence
- ↑ TXSeries for Multiplatforms V7.1 . IBM. Retrieved September 4, 2012.