Freigeben über


IMS Connect

Das IMS Connect-Programmiermodell bietet Zugriff auf IMS-Transaktionen (Information Management Systems, IMS) mithilfe von TCP/IP. Dieses Modell verwendet die IMS-Nachrichtenwarteschlange für die Verarbeitung von Daten.

Die folgende Abbildung fasst den Workflow zusammen, der zwischen dem Client, dem Standard-IMS-Listener, dem gleichzeitigen Server und dem Mainframetransaktionsprogramm erfolgt. Die Zahlen in Klammern geben die ungefähre Reihenfolge an, in der Ereignisse auftreten. Eine detailliertere Beschreibung der Ereignisse folgt der Abbildung.

Abbildung des Prozesses, mit dem der Client Eingabedaten an den ITOC-Listener übergibt.
Prozess, mit dem der Client Eingabedaten an den ITOC-Listener übergibt und der HWSIMSO0 Zugriff auf das IMS-Programm bietet, wodurch die Antwortdaten an den Client übermittelt werden

Zusammenfassungs-Workflow-Diagramm für das IMS Connect Programmiermodell

Das IMS Connect-Programmiermodell funktioniert wie folgt:

  1. Eine Anwendung ruft eine Methode in einer TI-Komponente auf, die entweder in Component Services oder .NET Framework konfiguriert ist.

  2. Die TI-Laufzeit ruft den TI Automation-Proxy auf.

  3. Wenn die Anwendung eine .NET Framework-Assembly ist, dann der TI Automation-Proxy:

    1. Liest aus der Assembly und den Metadaten, die zuvor vom TI Designer erstellt wurden.

    2. Ordnet die .NET-Datentypen COBOL-Datentypen zu.

      Der TI-Automatisierungsproxy:

    3. Ruft die Konvertierungsroutinen auf, um die Anwendungsdaten in Großrechner-COBOL-Typen zu konvertieren.

    4. Erstellt den flachen Datenstrompuffer, der die COBOL-Deklaration oder das Copybook darstellt.

    5. Übergibt die Nachricht an die TCP-Transportkomponente.

  4. Die TI-Laufzeit sendet eine anfängliche Anforderungsnachricht (IRM) an IMS Connect (HWSIMSO0 oder HWSIMSO1) mithilfe der IP-Adresse des Mainframecomputers und der Portadresse des IMS Connect, wie sie im TCP/IP-Profildatensatz (hlq.PROFILE.TCPIP), bereitgestellt von IBM, gespeichert sind.

    HWSIMSO0 und HWSIMSO1 sind VON IBM bereitgestellte Hostwebserver-Exitroutinen (HWS), die die Anforderungs- und Antwortprotokolle zwischen dem TI Automation-Server (einer TI .NET Framework-Anwendung) und ITOC definieren. Die HWS wird in einem Z/OS-Adressraum ausgeführt, der von den IMS-Regionen getrennt ist, und führt die Listenerdienste für die IMS-Verbindung aus.

  5. Die IMS Connect-Beendigungsroutine übernimmt die Kontrolle über die IMS-Anwendung (so genannte IMS TCP/IP Open Transaction Management Architecture (OTMA)-Verbindung (ITOC)).

  6. Die TI-Laufzeitumgebung sendet einen ITOC-Anforderungsheader an ITOC und HWSIMSO0.

  7. Die HWSIMSO0 Beendigungsroutine:

    • Überprüft den ITOC-Anforderungsheader.

    • Empfängt alle Anforderungsdaten aus der TI-Laufzeitumgebung.

    • Kommuniziert mit Sicherheitsroutinen

    • Steuert den OTMA-Prozess, um eine Verbindung mit einem IMS-Datenspeicher herzustellen

    • Platziert und ruft Nachrichtensegmente in und aus der IMS-Nachrichtenwarteschlange über OTMA ab.

    • Sendet alle Antwortdatensegmente an die TI-Laufzeitumgebung.

    • Steuert Wiederherstellungsvorgänge in IMS

  8. ITOC liest die ITOC-Headerinformationen, sucht die richtige IMS-Region und plant die Ausführung einer IMS-Transaktion in dieser IMS-Region. Der ITOC-Header muss diese Informationen enthalten:

    • ITOC HWS Exit-Routine-Bezeichner (Standard '*IRMREQ*')

    • IMS-Datenspeicherbezeichner

    • Transaktionsbezeichner

    • Flusssteuerungsinformationen

    • Sicherheitsanmeldeinformationen der IBM Resource Access Control Facility (RACF)

    • Protokollsteuerelement-Flags

  9. HWSIMSO0 ordnet die richtige IMS-Nachrichtenwarteschlange an

  10. Die Laufzeitumgebung von TI sendet die Anforderungsdatensegmente an ITOC.

  11. Die TI-Laufzeit sendet EOM

  12. IMS-Kontrollbereich sendet an den Nachrichtenverarbeitungsbereich (MPR)

  13. Nachdem alle Anforderungsdaten in der IMS-Nachrichtenwarteschlange platziert wurden, wird die Transaktion für die Ausführung geplant.

  14. Das IMS-Serveranwendungsprogramm verwendet die Standardbefehle CBLTDLI Get Unique (GU), Get Next (GN) und Insert (INSRT), um die Anforderungsdaten abzurufen und Antwortdaten in der IMS-Nachrichtenwarteschlange zu platzieren.

  15. MPR gibt Daten an TI zurück. ITOC sendet EOM-CSMOKY und gibt die folgenden Informationen an die TI-Laufzeitumgebung zurück:

    • Anforderungsmodifikationsnachricht

    • Antwort-Datensegmente

    • Ende der Nachricht Segment

    • CSMOKY-Segment

  16. ITOC und die ITOC-Exitroutine entfernen dann die Antwortdaten aus der Nachrichtenwarteschlange und übermitteln sie zurück an die TI-Laufzeitumgebung.

  17. Der TI Automation-Proxy empfängt die Antwortdaten und verarbeitet die Antwort. Der TI-Automatisierungsproxy:

    1. empfängt die Nachricht von der TCP-Transportkomponente.

    2. liest den Nachrichtenpuffer

      Wenn die Anwendung eine .NET Framework-Assembly ist, dann der TI Automation-Proxy:

    3. ordnet die COBOL-Datentypen den .NET Framework-Datentypen zu.

    4. ruft die Konvertierungsroutinen auf, um die COBOL-Datentypen in die Anwendungsdaten zu konvertieren.

  18. Die TI-Laufzeit sendet die konvertierten Daten zurück an die .NET Framework-Anwendung, die die Methode aufgerufen hat.

    Informationen zum Konfigurieren der Großrechner- und Schreibserveranwendungen für TCP/IP finden Sie unter TCP/IP V3R2 für z/OS: IMS TCP/IP Application Developers Guide (IBM Document #SC31-7186) und IMS Connect Guide and Reference V1R2 (IBM Document #SC27-0946).

    Hostintegrationsserver enthält Beispielcode, der zeigt, wie das IMS Connect-Programmiermodell implementiert wird. Der Beispielcode befindet sich im \Installationsverzeichnis\SDK\Samples\AppInt. Starten Sie Visual Studio, öffnen Sie das Lernprogramm, das Sie verwenden möchten, und folgen Sie den Anweisungen in der Infodatei.

Siehe auch

Transaktionsintegratorkomponenten
Konvertierung von Datentypen aus Automatisierungsprozessen nach z/OS COBOL]
Konvertieren von Datentypen von z/OS COBOL zur Automatisierung
IMS-Komponenten
TI-Laufzeit
Auswählen des geeigneten Programmiermodells
Programmiermodelle