CICS-LU6.2-Linkmodell
Das CICS-LU6.2-Link-Programmiermodell ist eines der einfachsten Modelle, mit denen Sie TI-Funktionen implementieren können.
Die folgende Abbildung zeigt eine Übersicht über den Workflow zwischen dem Client, der standardmäßigen CICS-Spiegeltransaktion und dem Mainframetransaktionsprogramm. Die Zahlen in Klammern geben die ungefähre Reihenfolge an, in der Ereignisse auftreten. Nach der Abbildung folgt eine ausführliche Beschreibung der Ereignisse.
Transaction Integrator sendet und empfängt Parameter mit DPL-Informationen von einer CICS-Spiegeltransaktion
Übersicht über den Workflow für das CICS-LU6.2-Link-Programmiermodell
Das CICS-LU6.2-Link-Programmiermodell funktioniert wie folgt:
Eine Anwendung ruft eine Methode in einem TI auf.
Die TI-Runtime ruft den TI-Proxy auf.
Der TI-Proxy führt Folgendes aus:
Liest die Assembly und die Metadaten, die zuvor vom TI-Designer erstellt wurden.
Ordnet die .NET Framework-Datentypen COBOL-Datentypen zu.
Dann führt der TI-Proxy Folgendes aus:
Ruft die Konvertierungsroutinen auf, um die Anwendungsdaten in Mainframe-COBOL-Typen zu konvertieren.
Erstellt den vereinfachten Datenstrompuffer, der die COBOL-Deklaration oder das COBOL-Copybook darstellt.
Übergibt die Nachricht an die SNA-Transportkomponente.
Der TI sendet die von der TI-Komponentenmethode angegebene TP Name CSMI-Anforderung mithilfe von DPL-Informationen und dem LU6.2-Protokoll an die CICS-Spiegeltransaktion. (IBM stellt CSMI mit CICS auf den TI-Voraussetzungssystemen bereit.)
Die CICS-Spiegeltransaktion ist ein spezielles CICS TP, das als Gateway zwischen TPs fungiert, die in verschiedenen CICS-Regionen ausgeführt werden, sodass sie Daten über COMMAREA austauschen können. Der TI nutzt diese Standardmethode der Kommunikation zwischen CICS-TPs, um auf Mainframe-TPs zuzugreifen. CSMI verarbeitet alle für die Kommunikation erforderlichen APPC- und Transaktionseigenschaften. Die TRANID für dieses TP ist CSMI.
Distributed Program Link (DPL) ist das bei der Kommunikation mit CSMI verwendete Protokoll. Der TI verwendet DPL für die Kommunikation mit CSMI.
CSMI (die CICS-Spiegeltransaktion) übernimmt die Kontrolle und gibt einen EXEC CICS Link-Befehl an das angeforderte Server-TP in CICS aus. (Der Name dieses Programms kann der Remoteumgebung (RE, Remote Environment) und dem Methodennamen im TI-Designer zugeordnet werden.)
Die CICS-Spiegeltransaktion übergibt die COMMAREA-Datei, die die Eingabefelder enthält, an das Server-TP.
COMMAREA ist ein Kommunikationsbereich von bis zu 32 KB, der alle Daten enthält, die an das Mainframeprogramm und vom Mainframeprogramm übergeben werden. Viele in COBOL geschriebene CICS-TPs verwenden diesen Bereich des Mainframetransaktionscodes, um Daten auszutauschen. Bei Verwendung des CICS-Links mithilfe des LU6.2-Programmiermodells erscheint TI dem Mainframe-TP als ein weiteres CICS-TP, das Daten über COMMAREA austauscht.
Das Server-TP ist das TP, das der TI im Auftrag der Clientanwendung aufruft. Es enthält die ausgeführte Geschäftslogik und wird im Methodenaufruf der Clientanwendung durch seine TRANID identifiziert.
Hinweis
Der Begriff Server-TP wird verwendet, um das TP zu identifizieren, auf das der TI zugreift. Diese Erläuterung ist erforderlich, da der Zugriff auf Mainframeanwendungen in der Regel eine Reihe von TPs umfasst.
Wenn die Verarbeitung des Server-TP abgeschlossen ist, gibt es einen EXEC CICS RETURN-Befehl aus, der die Daten in COMMAREA an die CICS-Spiegeltransaktion zurückgibt, wobei alle Ausgabefelder aktualisiert werden.
Die CICS-Spiegeltransaktion gibt ggf. die Ausgabedaten an den TI zurück.
Der TI-Proxy empfängt die Antwortdaten und verarbeitet die Antwort. Der TI Automation-Proxy führt folgende Schritte aus:
Er empfängt die Nachricht von der SNA-Transportkomponente.
Er liest den Nachrichtenpuffer.
Der TI Automation-Proxy führt folgende Schritte aus:
Ordnet die COBOL-Datentypen .NET Framework-Datentypen zu.
Ruft die Konvertierungsroutinen auf, um die Mainframe-COBOL-Typen in Anwendungsdaten zu konvertieren.
Die TI-Runtime sendet die konvertierten Daten zurück an die COM- oder .NET Framework-Anwendung, die die Methode aufgerufen hat.
Nur das Flussmodell wird mit CICS Link unterstützt, sodass ungebundene Recordsets für diese TP-Klasse nicht unterstützt werden. Recordsets fester Größe (d. h. begrenzungsgebundene Recordsets) werden unterstützt.
CSMI verarbeitet auch alle Interaktionen der Synchronisierungsstufe 2 mit dem TI und stellt daher transparent die 2PC-Funktion für Programme in dieser Klasse bereit.
Vorhandene CICS-Programme sind möglicherweise bereits auf diese Weise strukturiert. Anstatt dass der TI die LU6.2-Anforderung ausgibt, gibt ein anderes CICS-TP möglicherweise bereits einen EXEC CICS-Link aus, um das in der vorherigen Abbildung gezeigte CICS-Programm auszuführen. In diesem Fall können das vorhandene CICS-TP als auch die TI-Komponente parallel vorhanden sein und dasselbe CICS-Programm ausführen.
Hinweis
CSMI ist der standardmäßige Spiegeltransaktionsname, Sie können jedoch einen anderen Namen angeben.
Host Integration Server enthält Beispielcode, der zeigt, wie das CICS LU6.2 Link-Programmiermodell implementiert wird. Der Beispielcode befindet sich hier: \Installationsverzeichnis\SDK\Samples\AppInt. Starten Sie Microsoft Visual Studio, öffnen Sie das gewünschte Tutorial, und befolgen Sie die Anweisungen in der Readme-Datei.
Weitere Informationen
Komponenten von Transaction Integrator
Konvertieren von Datentypen von Automation zu z/OS COBOL]
Konvertieren von Datentypen von z/OS COBOL in Automation
CICS-Komponenten
TI-Runtime
Auswählen des geeigneten Programmiermodells
Programmiermodelle