transaktionsmonitore ii beispiel cics christoph salomon db-seminar 2003: großrechneraspekte /...
TRANSCRIPT
![Page 1: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/1.jpg)
Transaktionsmonitore IIBeispiel CICS
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
![Page 2: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/2.jpg)
Inhalt
• Allgemeines über CICS• CICS im Betriebssystem• CICS Transaktion• Programmstruktur• Verwendung• Programmentwicklung• Programmierstile
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
![Page 3: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/3.jpg)
Allgemeines über CICS
• Customer Information Control System• Erstmalig 1968 eingesetzt• der am weitesten verbreitete IBM - proprietäre
Transaktionsmonitor• hat eine Spitzenposition bzgl. Zuverlässigkeit und
Verfügbarkeit• verfügbar unter:
– S/390 Betriebssysteme: OS/390 und VSE– In modifizierter Form: OS/400, OS/2, NT, AIX,
Solaris, Digital UNIX
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
1/2
![Page 4: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/4.jpg)
Allgemeines über CICS• Ca. 16 000 Unternehmen (ca. 90% der 2 000 größten
Unternehmen) weltweit setzen u.a. CICS ein
• Weltweit existieren ca. 30 Mill. CICS Terminals (1/12 der Anzahl aller Internetanschlüsse 2001)
• Anzahl der ausgeführten CICS-Transaktionen Anzahl aller Zugriffe auf Webseiten weltweit
• Programmiersprachen:– Cobol (alte CICS-Anwendungen: gute Lesbarkeit, Wartbarkeit) – C++, Java (neue CICS-Anwendungen: moderne Sprachen)– PL/1 (von IBM entwickelt)
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
2/2
![Page 5: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/5.jpg)
CICS im Betriebssystem• OS/390 Betriebssystem
• CICS läuft also als Subsystem in einem OS/390 Betriebssystem
• Kommunikation der Subsysteme untereinander Interprocess Communication (IPC nächster Vortrag)
• CICS kann auf Daten zugreifen, die z.B. von einem relationalen DBS bereitgestellt werden
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
1/3
OS/390 Kernel
CICS DB2Relationale Datenbank
USSUnix Shell
TSOEntwicklungs-
umgebung
FF…FF
00..00
![Page 6: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/6.jpg)
CICS im Betriebssystem
• es laufen parallel in einer Region– CICS – Nucleus (CICS – Kernel)– CICS – Anwendungen (Serverprozesse/Transaktionen)
• alle CICS-Anwendungen und CICS-Dienste (Ressource Manager) laufen ungeschützt voneinander im Problemstatus (User mode)
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
2/3
OS/390 Kernel
CICS DB2 USS TSO• CICS – Region
CICS – Anwendungen
CICS - Nucleus
![Page 7: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/7.jpg)
CICS im Betriebssystem
• CICS-Dienste (Ressource-Manager) werden als Threads innerhalb des virtuelle Adressraumes ausgeführt und vom CICS-Nucleus verwaltet.
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
3/3
• CICS – Region CICS – Anwendungen
CICS - Nucleus
FF…FF
00…00
![Page 8: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/8.jpg)
CICS Transaktion
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
1/2
• Zu einem CICS–Subsystem gehört eine Menge von CICS–Anwendungen
• Eine Anwendung ist ein bestimmter Transaktionstyp mit einem eindeutigen Transaktions-Identifier (TRID)
• Die Ausführung einer CICS – Anwendung heißt Transaktion.
• CICS – Anwendungsprogramme sind reentrant (wiedereintritts-invariant)d.h. es genügt eine Kopie des Programmes im Hauptspeicher für mehrere parallele Ausführungen
![Page 9: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/9.jpg)
CICS Transaktion
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
2/2
• Bsp.: Anwendung „ABCD“, die aus einer Datenbank bestimmte Daten ausliest und am Bildschirm ausgibt.(3x die gleiche TRID, aber unterschiedliche Ausgabedaten)
Name:Vorname:Geb.-Dat.:
Bem.:
MüllerFritz13.5.1952
langweilig
Name:Vorname:Geb.-Dat.:
Bem.:
MeierHorst12.6.1938
sturpedantisch
Name:Vorname:Geb.-Dat.:
Bem.:
StrauchKarl3.1.1824
tod
• Bsp.: „CEDA“ ist die Transaktions-ID einer Anwendung, dieBestandteil von CICS ist (Aufruf einer interaktiven CICS-Shell)
![Page 10: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/10.jpg)
Programmstruktur
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
1/3
• Aufbau eines CICS – Anwendungsprogrammes
Programm
Mapset
TRID
Zusammen: CICS Anwendung (Group)
Business Logik
Bildschirmausgabe
Transaktions – ID(4 Byte)
![Page 11: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/11.jpg)
Programmstruktur
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
2/3
• TRID: – aus 4 Byte bestehender Transaktions-Identifier zum Aufrufen der
Anwendung
• Mapset: (Presentationslogik)– der Teil der Anwendung, der Informationen über Struktur und
Datenausgabeformatierungen enthält– ist der feste Teil der Ausgabe einer Transaktion
• Programm: (Businesslogik)– Anwendungsprogramm, in einer bestimmten Programmiersprache– ist lauffähig, fordert Informationen z.B. vom DBS an, kommuniziert mit
anderen Regionen– liefert die Daten, die verarbeitet oder nach Vorgabe von Mapset am
Bildschirm ausgegeben werden.
![Page 12: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/12.jpg)
Programmstruktur
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
3/3
• In unserem Beispiel:• TRID: ABCD
Name:Vorname:Geb.-Dat.:
Bem.:
• Mapset: (hier nur ein Map)
StrauchKarl3.1.1824
tod
• Programm: liefert die DatenMeierHorst12.6.1938
sturpedantisch
MüllerFritz13.5.1952
langweilig
![Page 13: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/13.jpg)
Verwendung
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
1/1
• Abarbeitung einer CICS – TransaktionEingangsbildschirmCICS - Aufruf
IdentifizierungUserID und Passwort Eingabe TRID
Transaktions-Menü Auswahl
AusgabeAntwortbildschirm
![Page 14: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/14.jpg)
Programmentwicklung
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
1/3
• außerhalb von CICS in einer anderen Region (z.B. TSO)– Programmierung des ausführbaren Teils einer CICS –
Anwendung – Compilieren des ausführbaren Teils einer CICS –
Anwendung– Erstellung der Maps außerhalb von CICS mit BMS
• CICS wird nur für die Ausführung der Programme verwendet (u.a. Schutz des Systems)
![Page 15: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/15.jpg)
Programmentwicklung
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
2/3
Programm mit native CICS API
Object Programm
Maschinenprogramm (ausführbar)
CICS - Precompiler
C - Compiler
Linking
QuellprogrammProgramm mit native DB2 API
SQL - Precompiler
![Page 16: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/16.jpg)
Programmentwicklung
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
3/3
• Installation eines CICS – Anwendungsprogrammes:– CEDA öffnet eine CICS – Shell
• DEFINE– Erstellung einer neuen „Group“– Definition der Komponenten der Gruppe (TRID, Mapset,
Programm)
• INSTALL– Aktivierung der neuen Gruppe einschließlich aller Komponenten– Integration in das CICS – Subsystem
![Page 17: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/17.jpg)
Programmierstile
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
1/2
• Ablauf einer Conversational Transaction
Benutzer - TA
CICS - TA
aktiv
passiv
ZeitStart Commit
aktiv
– Über den gesamten Zeitraum der Sitzung des Benutzers werden die benötigten Ressourcen blockiert
– Die Maschine „wartet“ auf die Eingaben des Benutzers und „verschenkt“ wertvolle Zeit
– Ressourcen werden erst nach dem Abschluß der Transaktion wieder freigegeben
![Page 18: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/18.jpg)
Programmierstile
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
2/2
• Ablauf einer Pseudo-Conversational Transaction
Benutzer - TA
CICS - TA
aktiv
passiv
ZeitStart Commit
– Die logische Benutzertransaktion wird in mehrere reale CICS-Transaktionen unterteilt.
– Resourcen stehen anderen Transaktionen zur Verfügung, solange sie nicht direkt beansprucht werden.
– Um die ACID-Eigenschaften von Transaktionen sicherzustellen müssen hierbei zusätzlich die Sitzungsparameter jeder einzelnen Sitzung berücksichtigt werden.
aktiv
passiv
![Page 19: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/19.jpg)
Zusammenfassung
• Verfügbar für viele Betriebssysteme• Weitverbreitetster Transaktionsmonitor
• Läuft als Subsystem in eigener Region auf dem Mainframe
• Kommuniziert mit Anwendungen anderer Regionen z.B. DBS (empfängt / sendet Daten)
• Ausführung einer CICS-Anwendung ist eine Transaktion• Anwendungen werden durch eindeutige TRID
aufgerufen, bestehen aus Presentationslogik (Maps) und Businesslogik (Programm)
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
1/2
![Page 20: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/20.jpg)
Zusammenfassung
• Programmentwicklung erfolgt außerhalb von CICS• Installation der compilierten Anwendung in die CICS
Umgebung
• Anwendungen können als Conversational Transaction (eine lange CICS-Transaktion) oder Pseudo-Conversational Transaction (reale Unterteilung der logischen Session) programmiert werden.
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
2/2
![Page 21: Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes](https://reader035.vdocuments.pub/reader035/viewer/2022070507/570491c51a28ab14218dabed/html5/thumbnails/21.jpg)
Abkürzungen
• Problemstatus (User-Mode)– Im Gegensatz zum Kernel-Mode können solche Programme
nicht auf den Kernel-Speicher zugreifen (haben weniger Privilegien – Schutz des Betriebssystems)
• API (Application Programming Interface)– Definierte Softwareschnittstelle zwischen zwei
Programmiersprachen (z.B. embedded SQL in C++) oder einer Programmiersprache und dem Betriebssystem
• BMS (Basic Mapping Support)– „Sprache“ in der Maps für CICS-Anwendungen geschrieben
werden können
Christoph SalomonDB-Seminar 2003: Großrechneraspekte / Mainframes
1/1