Verbindung zwischen alter IBM-Welt und PC-Systemen hergestellt CICS: Der einfache Weg in die heterogene Client-Server-Welt

21.10.1994

Von Franz Eckl*

Auch in einer Client-Server-Umgebung laeuft ohne den Mainframe in den meisten Unternehmen nichts. Zu den vordringlichsten Aufgaben bei der Einfuehrung dieser neuen DV-Infrastruktur zaehlt es damit, die 3270- mit der grafisch orientierten PC-Welt zu verbinden. Dies laesst sich mit dem Transaktionsmonitor CICS ohne grosse Probleme bewaeltigen.

Es stellt noch ein technisches Problem dar, die Zusammenarbeit zwischen PCs und Servern im Rahmen einer Client-Server-Loesung zu programmieren: Entweder man entwickelt die Programm-zu-Programm- Kommunikation selbst mit APPC, CPI-C oder TCP/IP-Sockets, was recht kompliziert ist, oder man hofft, dass die Remote-Procedure- Call-(RPC-)-Funktion von DCE bald vollstaendig verfuegbar ist.

Vielfach wird dabei uebersehen, wie leicht sich eine Client-Server- Loesung mit einem "alten" System wie CICS realisieren laesst: Es bietet heute mehr Offenheit, das heisst Portabilitaet und Interoperabilitaet zwischen heterogenen Rechnern, als alle vielgepriesenen "offenen Architekturen".

In den meisten Betrieben werden PCs als Arbeitsplatzsysteme eingesetzt. Historisch bedingt ist die Lokation der Unternehmensdaten haeufig auf einem IBM-Host. Die Online- Verarbeitung wird also meist durch ein IBM-Produkt ermoeglicht. Dabei handelt es sich in vielen Faellen um den Transaktionsmonitor CICS.

Die wichtigste Verbindungsart zwischen PC und Host ist derzeit eine 3270-Emulation (IBM, DCA, HOB und andere), die unter grafischen Oberflaechen dumme Terminals darstellt. Endbenutzer (zum Beispiel unter Windows) arbeiten also einerseits unter der zeichenorientierten 3270-Oberflaeche (die oft nicht einmal dem SAA- Standard entspricht) und andererseits parallel dazu mit grafisch praesentierenden Programmen wie Excel und Word, um nur einige Beispiele zu nennen. Nicht nur die unterschiedliche Bedienung (Maus, PF-Tasten) bereitet hier Schwierigkeiten und verhindert Produktivitaet, es bestehen auch nur geringe Moeglichkeiten, Informationen zwischen diesen verschiedenen Systemen auszutauschen.

Ueblicherweise wird ein solcher Datenaustausch durch die beiden Methoden rudimentaeres DDE (Dynamic Data Exchange), das heisst Cut and paste, beziehungsweise File-Transfer (durch IND$) ohne Programmierung (EHLLAPI) realisiert. Keine der beiden Techniken bringt einen besonderen Nutzen.

Das an und fuer sich proprietaere CICS bietet nun seit mehr als 15 Jahren die Option, sowohl mit anderen CICS-Loesungen als auch mit vollkommen fremden Systemen zu kommunizieren.

Diese Funktion wird als CICS-ISC (ISC = Inter System Communication) bezeichnet. CICS-ISC stellt dem Programmierer ein einfaches API (EXEC CICS...) zur Verfuegung, das transparent die diversen Transportprotokolle (SNA, LU 6.2 oder TCP/IP) bedient. In der Vergangenheit erworbene Programmierkenntnisse lassen sich durch Benutzung dieser Schnittstelle also auch in Zukunft weiterverwenden. Da alle Mitglieder der CICS-Family dieses Protokoll beherrschen, ist somit eine ein-fache Kommunikationsmoeglichkeit gegeben.

ISC bietet folgende Moeglichkeiten der Interkommunikation:

- Transaction Routing: Eine Transaktion (Logical Unit of Work) wird in einem System gestartet und komplett auf einem anderen System ausgefuehrt.

- Asynchronous Processing: Eine Transaktion startet eine andere Transaktion in einem zweiten System. Diese Task laeuft unabhaengig (asynchron) von der initiierenden Task ab, es koennen jedoch Informationen (32 KB) uebergeben werden.

- Function Shipping: Eine Dateizugriffsfunktion (READ, WRITE, ...) wird an ein anderes CICS weitergeleitet und dort unter Beachtung des Synchronisationslevels ausgefuehrt.

- Distributed Transaction Processing (DTP): Zwei Programme

(CICS-CICS oder CICS-nicht- CICS) kommunizieren als gleichberechtigte Partner (Peer to Peer).

- Distributed Program Link

(DPL): Eine CICS-Transaktion ruft ein eigenstaendiges Programm in einem anderen CICS als Unterprogramm auf (Remote Procedure Call). Der Informationsaustausch erfolgt ueber eine Communication Area.

Die wichtigsten Vorteile aller Mitglieder der CICS-Family sind:

- Interkommunikation,

- Transaktionsraten,

- hohe Verfuegbarkeit,

- voll integrierter Datenschutz (zum Beispiel RACF),

- hohe Datensicherheit,

- grosses Potential an Programmierern.

Eine der bedeutendsten Schnittstellen zwischen PC und Host stellt CICS/OS2 dar. Dieses Produkt verfuegt nicht nur ueber die oben dargestellten Kommunikationsmoeglichkeiten zu anderen CICS- Transaktionsmonitoren beziehungsweise zu anderen Systemen, sondern besitzt auch die Faehigkeit, als Server DOS-, Windows- oder OS/2- Programmen den Zugriff auf Host-Ressourcen zu gewaehren. Damit eroeffnen sich eine Reihe von Moeglichkeiten.

So lassen sich Verbindungen zu allen bestehenden Systemen herstellen. Waehrend die Kommunikation zwischen den Server-Systemen ueber das bekannte EXEC-CICS-API (ISC-Funktionen) hergestellt wird, koennen die Verbindungen von den Clients (DOS, Windows und OS/2 zum (Primaer-)Server (OS/2 oder AIX) durch zwei Techniken realisiert werden:

-External Presentation Interface (EPI): Hier kommuniziert eine Windows- beziehungsweise Presentation-Manager-Applikation mit einem Server-CICS, in dem 3270-Datenstroeme zum Informationsaustausch benutzt werden, das heisst, die GUI-Anwendung

simuliert ein 3270-Terminal. Hauptziel ist es, 3270-Anwendungen durch eine grafische Oberflaeche aufzupeppen, ohne den Sourcecode der Applikation abaendern zu muessen.

-External Call Interface (ECI): Die Benutzung dieser Schnittstelle erlaubt synchrone und asynchrone Aufrufe von CICS-Applikationen durch Nicht-CICS-Programme (mit grafischer Oberflaeche); dabei wird die Kommunikation mit Hilfe einer bis zu 32 KB grossen Communication-Area (Commarea) durchgefuehrt.

Die Hauptsteuerung einer Anwendung (auch Commit oder Rollback) obliegt grundsaetzlich der Kommunikationskomponente, dem primaeren Client.

Applikations- und Datenlogik sind entweder reine Server-Systeme, oder sie stellen Server-Client-Kombinationen (CICS-Router) dar.

Aufgrund der beiden Interfaces CICS-API und ECI wird einem beliebigen Client praktisch die gesamte Welt offener und proprietaerer Architekturen zugaenglich gemacht; dies mit minimalem Kostenaufwand und unter Ausnutzung hoher Sicherheitsstandards, wenn man bedenkt, dass es Hunderttausende von CICS-Programmierern gibt, die mit ihrem Know-how weiterhin die Server-Komponenten erstellen und pflegen koennen. Andererseits gibt es nahezu dieselbe Anzahl an Windows- und OS/2-Programmierern, die mit Hilfe leistungsfaehiger Tools grafische Oberflaechen zu erstellen in der Lage sind.