Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes.

Ähnliche Präsentationen


Präsentation zum Thema: "Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes."—  Präsentation transkript:

1 Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes

2 Inhalt Allgemeines über CICS CICS im Betriebssystem CICS Transaktion Programmstruktur Verwendung Programmentwicklung Programmierstile Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes

3 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 Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 1/2

4 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 Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 2/2

5 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 Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 1/3 OS/390 Kernel CICSDB2 Relationale Datenbank USS Unix Shell TSO Entwicklungs- umgebung FF…FF 00..00

6 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 Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 2/3 OS/390 Kernel CICSDB2USSTSO CICS – Region CICS – Anwendungen CICS - Nucleus

7 CICS im Betriebssystem CICS-Dienste (Ressource-Manager) werden als Threads innerhalb des virtuelle Adressraumes ausgeführt und vom CICS-Nucleus verwaltet. Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 3/3 CICS – Region CICS – Anwendungen CICS - Nucleus FF…FF 00…00

8 CICS Transaktion Christoph Salomon DB-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

9 CICS Transaktion Christoph Salomon DB-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üller Fritz 13.5.1952 langweilig Name: Vorname: Geb.-Dat.: Bem.: Meier Horst 12.6.1938 stur pedantisch Name: Vorname: Geb.-Dat.: Bem.: Strauch Karl 3.1.1824 tod Bsp.: „CEDA“ ist die Transaktions-ID einer Anwendung, die Bestandteil von CICS ist (Aufruf einer interaktiven CICS-Shell)

10 Programmstruktur Christoph Salomon DB-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)

11 Programmstruktur Christoph Salomon DB-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.

12 Programmstruktur Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 3/3 In unserem Beispiel: TRID: ABCD Name: Vorname: Geb.-Dat.: Bem.: Mapset: (hier nur ein Map) Strauch Karl 3.1.1824 tod Programm: liefert die Daten Meier Horst 12.6.1938 stur pedantisch Müller Fritz 13.5.1952 langweilig

13 Verwendung Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 1/1 Abarbeitung einer CICS – Transaktion Eingangsbildschirm CICS - Aufruf Identifizierung UserID und Passwort Eingabe TRID Transaktions- Menü Auswahl Ausgabe Antwortbildschirm

14 Programmentwicklung Christoph Salomon DB-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)

15 Programmentwicklung Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 2/3 Programm mit native CICS API Object Programm Maschinenprogramm (ausführbar) CICS - Precompiler C - Compiler Linking Quellprogramm Programm mit native DB2 API SQL - Precompiler

16 Programmentwicklung Christoph Salomon DB-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

17 Programmierstile Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 1/2 Ablauf einer Conversational Transaction Benutzer - TA CICS - TA aktiv passiv Zeit StartCommit 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

18 Programmierstile Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 2/2 Ablauf einer Pseudo-Conversational Transaction Benutzer - TA CICS - TA aktiv passiv Zeit StartCommit –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

19 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 Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 1/2

20 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 Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 2/2

21 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 Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes 1/1


Herunterladen ppt "Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes."

Ähnliche Präsentationen


Google-Anzeigen