Customer Information Control System (CICS) ist ein Transaktionsmonitor von IBM.
CICS ist unter den /390-Großrechner-Betriebssystemen z/OS (MVS) und VSE sowie, in modifizierter Form als Encina-Erweiterung, unter Windows NT, OS/2, AIX, HP-UX, Sinix, Solaris sowie Digital Unix verfügbar.
Inhaltsverzeichnis |
Je nach Land wird die Abkürzung CICS unterschiedlich ausgesprochen:
Es werden die traditionell auf Mainframes verbreiteten Programmiersprachen COBOL, C, C++, PL/I und Assembler unterstützt, seit einigen Jahren auch Java.
Die Anwendungs-API für nicht OO-Sprachen besteht aus EXEC CICS .....
-Kommandos, die von einem Präprozessor in die Gastsprache übersetzt werden. Java-Programmierern stehen entsprechende CICS-Klassen zur Verfügung.
Im Gegensatz zu IMS ist die Kodierung der EXEC CICS Blöcke in allen Standard-HOST-Sprachen (siehe oben) identisch. Ein EXEC CICS ASSIGN..... sieht in COBOL, C, C++, PL/I und Assembler identisch aus.
CICS-Programme interagieren mit einem Anwender oder einer anderen Anwendung. Dafür stehen dem Programmierer eine Vielzahl von Mechanismen und Funktionen zur Verfügung. Für klassische, bildschirmorientierte Anwendungen sind z.B. folgende Funktionen wichtig
Eine CICS-Transaktion besteht aus einer oder mehreren Unit of Work (UOW). Eine UOW ist das, was in der Literatur unter einer Transaktion verstanden und mit dem Begriff ACID (Atomicity, Consistency, Isolation und Durability) verbunden wird. Die veraltete Bezeichnung Logical Unit of Work (LUW) wird auch heute noch synonym für UOW verwendet.
Jede CICS-Transaktion läuft unter einem vordefinierten vierstelligen Transaktions-Code. Dieser Transaktions-Code legt unter anderem den Namen des Programms fest, welches mit dem Start der Transaktion die Ausführungskontrolle erhält.
Mit dem Start der Transaktion beginnt eine UOW, mit dem Kommando EXEC CICS SYNCPOINT
wird die laufende UOW beendet (commited) und eine neue UOW begonnen. Die Transaktion endet mit EXEC CICS RETURN
und beendet auch die aktuelle UOW mit SYNCPOINT
. Eine CICS-Transaktion entsteht traditionell
START TRANSID()
CICS-Transaktionen können von Programmen auch von „außen“ gestartet werden:
EXCI
-Call aus z/OS (MVS, Multiple Virtual Storage), z. B. TSO (Time-Sharing Option) oder Stapelverarbeitung.eci
-Call von nicht-MVS-Plattformen (Unix, Windows, OS/2)Laut Bob Yelavich ist Ben Riggins der Vater von CICS.
Zahlreiche Mythen ranken sich um das Präfix der CICS-Meldungen DFH. Bob Yelavich weist darauf hin, dass diese Buchstabenkombination von IBM schlicht zugewiesen wurde und es sich um keine Abkürzung handelt (vgl. IMS und das Präfix DFS), manche Quellen hingegen behaupten, das erste CICS wäre ein Produkt eines lokalen Stromanbieters mit der Firmennamensabkürzung D.F.H. gewesen und sei später von IBM gekauft worden.
Die wahre Geschichte von CICS lässt sich heute nicht mehr klären, klar ist nur, dass CICS in den frühen 70er Jahren aufgetaucht ist und ursprünglich nicht von IBM war.
CICS wird weltweit in zahlreichen großen Unternehmen eingesetzt. Da CICS laufend weiterentwickelt wird und die aktuellen Versionen sowohl gängige Programmiersprachen wie C/C++ und Java unterstützen, als auch entsprechende Schnittstellen zum Internet (CICS Web Support) und zu Webservices haben, kann man davon ausgehen, dass der Markt für CICS zumindest in den nächsten Jahren relativ stabil bleiben wird. Im Neukunden-Markt-Segment muss sich CICS künftig gegenüber einer immer größer werdenden Konkurrenz mit auf kostengünstigen Servern bzw. Hosts mit hoher Verfügbarkeit basierenden Systemen behaupten.