- Customer Information Control System
-
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
Aussprache
Je nach Land wird die Abkürzung CICS unterschiedlich ausgesprochen:
- In Deutschland meistens wie zicks: Ohne CICS läuft nix!.
- In Großbritannien eher wie kicks
- In den USA sind kicks und see eye see ess gebräuchlich.
Anwendungsentwicklung unter CICS
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
- SEND MAP / RECEIVE MAP zum Anzeigen von Informationen und Abholen von Usereingaben
- RETURN TRANSID zum Beenden der CICS Task unter Vorgabe der Folgetransaktion nach erfolgter Benutzereingabe
- READ TS QUEUE / WRITE TS QUEUE zum Zwischenspeichern von Programmdaten während die CICS Task beendet ist und auf Eingaben wartet oder zur Kommunikation mit anderen Anwendungen.
Transaktionen im CICS
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 mitEXEC CICS RETURN
und beendet auch die aktuelle UOW mitSYNCPOINT
. Eine CICS-Transaktion entsteht traditionell- durch Eingabe eines Transaktionscodes an einem Terminal (bzw. in der Terminalemulation eines PCs)
- aus einer anderen CICS-Anwendung heraus mit
START TRANSID()
- CICS-intern: z. B. Trigger auf TD-Queue.
- aus einem anderen CICS mit Transaction Routing oder Distributed Program Link (DPL).
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.- Im MVS von der Operator-Konsole bzw. von Software-Konsolen (z. B. TSO, Netview).
eci
-Call von nicht-MVS-Plattformen (Unix, Windows, OS/2)- Verwendung von Standardprotokollen:
Geschichte von CICS
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 Firmenabkü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 1970er Jahren aufgetaucht ist und ursprünglich nicht von IBM war.
In der DDR existierte Ende der 1980er Jahre ein Datenkommunikationssystem mit dem Namen DAKS, welches unter OS/ES-SVS, dem DDR-Clone des IBM-Betriebssystems OS/VS2, lief. Das Präfix der DAKS-Meldungen war DKS, die Semantik der Meldungen war identisch (z.B. Control is being given to DAKS). Wie weit es verbreitet und angewandt wurde, ist unbekannt, allerdings verlor es an Bedeutung, da nach der Wirtschafts- und Währungsunion die meisten Rechenzentren in der DDR ihre Soft- und Hardware auf westlichen Standard brachten.
Zukunft von CICS
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.
Literatur
- CICS Application Programming Guide
- Norbert Denne: CICS. Theorie und Praxis. 3. Auflage. DGD, 2002, ISBN 3929187078
- Thomas Kregeloh, Stefan Schönleber: CICS Eine praxisorientierte Einführung ISBN 3-528-05272-4
Weblinks
- CICS-Handbücher (englisch)
- CICS-Handbücher (englisch)
- CICS-Wiki (englisch)
Wikimedia Foundation.