Web-Service unter CICS generieren und implementieren
In diesem Abschnitt wird beschrieben, wie Sie einen Web-Service unter z/OS CICS generieren und implementieren. Zusätzlich zum Konfigurieren der relevanten EGL-Buildabschnitte müssen Sie die folgenden CICS-Definitionen festlegen: TRANSACTION, TCPIPSERVICE und PIPELINE.
Details zu den Anforderungen für EGL oder Web-Services unter z/OS CICS finden Sie im Abschnitt “Besondere Hinweise zum Generieren von EGL oder von Web-Services in z/OS CICS-Umgebungen”.
Führen Sie die folgenden Schritte aus, um einen Web-Service unter z/OS CICS zu generieren und zu implementieren:
- Erstellen Sie einen EGL-Serviceabschnitt.
- Fügen Sie in einem EGL-Implementierungsdeskriptor ein gemeinsam nutzbares Protokoll vom Typ "CICSWS" hinzu. Details zu Tastenbefehlen finden Sie im Abschnitt “Gemeinsam nutzbares Protokoll erstellen und verwenden”.
- Legen Sie im gemeinsam nutzbaren Protokoll die folgenden Attribute fest:
- transaction
- Der Name einer Transaktion, unter der der Web-Service ausgeführt werden soll. Der Transaktionsarbeitsbereich (TWA) beträgt mindestens 1024 Bytes. Sie erstellen diese Transaktion zu einem späteren Zeitpunkt, indem Sie die CPIH-Transaktion kopieren und für ihren TWA 1024 Bytes festlegen.
- userID
- Die Benutzer-ID, unter der der Web-Service ausgeführt wird (optional).
- Fügen Sie den Serviceabschnitt auf der Seite "Web-Service-Implementierung" des Editors "EGL-Implementierungsdeskriptor" hinzu, um ihn als Web-Service zu generieren. Details zu Tastenbefehlen finden Sie im Abschnitt “Web-Service-Implementierungsinformationen zum Implementierungsdeskriptor hinzufügen”.
- Legen Sie für das Feld Protokoll im Implementierungsdeskriptor das gemeinsam nutzbare Protokoll vom Typ "CICSWS" fest.
- Legen Sie für das Feld URI im Implementierungsdeskriptor den relativen Pfad fest, unter dem Sie den Service implementieren möchten. Der Standardwert ist /services/name_des_serviceabschnitts. Hierbei steht name_des_serviceabschnitts für den Namen des Serviceabschnitts.
- Legen Sie im Builddeskriptor des Projekts die folgenden Builddeskriptoroptionen fest:
- deploymentDescriptor
- Der Name des EGL-Implementierungsdeskriptors, zu dem Sie das gemeinsam nutzbare Protokoll und den Serviceabschnitt hinzugefügt haben.
- destDirectory
- Das Stammverzeichnis des hierarchischen Dateisystems, das Ordner enthält, in denen
die generierte Bindingdatei und die generierte WSDL-Datei des Web-Service gespeichert werden. Ein Beispielwert für destDirectory
ist /u/username/clients. CICS muss über Lese- und Schreibzugriff
für dieses Verzeichnis verfügen.
Die Bindingdatei des Web-Service ist für die Konvertierung von SOAP-Nachrichten in COBOL-Nachrichten zur Ausführungszeit erforderlich.
- destHost
- Gibt den Namen oder die numerische TCP/IP-Adresse des Zielsystems an, auf dem sich der Build-Server befindet.
- destPassword
- Gibt das Kennwort an, das EGL zum Anmelden beim fernen Build-Server verwendet, auf dem Ihre Ausgabe für die Implementierung vorbereitet wird.
- destPort
- Gibt den Port an, an dem ein ferner Build-Server für Buildanforderungen empfangsbereit ist.
- destUserID
- Gibt die Benutzer-ID an, die EGL zum Anmelden beim fernen Build-Server verwendet, auf dem die Vorbereitung durchgeführt wird.
- genDirectory
- Gibt den vollständig qualifizierten Pfad des Verzeichnisses an, in dem EGL die generierte Ausgabe, die Steuerdateien und die Ergebnisdateien speichert.
- prep
- Setzen Sie prep auf "YES".
- serverType
- Setzen Sie serverType auf "CICS3.1".
- system
- Setzen Sie system auf "ZOSCICS".
- Generieren Sie beide Serviceabschnitte. Sie können den Implementierungsdeskriptor, wie im Abschnitt “Einführung in die EGL-Generierung und Implementierung” beschrieben, generieren oder implementieren.
- Definieren Sie auf dem CICS-System
eine Web-Service-Transaktion mit dem Namen, den Sie im gemeinsam nutzbaren Protokoll vom Typ "CICSWS"
angegeben haben:
- Erstellen Sie eine Kopie der CPIH-Transaktion. Verwenden Sie hierzu den folgenden Befehl:
Verwenden Sie den Namen der Transaktion für neuer_name und den Namen der Gruppe für gruppe.CEDA COPY TRANSACTION(CPIH) GROUP(DFHPIPE) AS(neuer_name) TO(gruppe) - Bearbeiten Sie der Kopie der Transaktion und legen Sie für die TWA-Größe 1024 Bytes fest.
- Erstellen Sie eine Kopie der CPIH-Transaktion. Verwenden Sie hierzu den folgenden Befehl:
- Definieren Sie eine Definition vom Typ "TCPIPSERVICE":
- Erstellen Sie eine neue Definition vom Typ "TCPIPSERVICE". Verwenden Sie hierzu den folgenden Befehl:
Verwenden Sie den Namen der neuen Definition vom Typ "TCPIPSERVICE" für name und den Namen der Gruppe für gruppe.CEDA DEF TCPIPSERVICE(name) GROUP(gruppe) - Legen Sie für das Feld mit der Portnummer eine Zahl zwischen 2001 und 65535 fest.
- Erstellen Sie eine neue Definition vom Typ "TCPIPSERVICE". Verwenden Sie hierzu den folgenden Befehl:
- Definieren Sie einen Web-Service vom Typ "PIPELINE":
- Wenn Sie einen neuen Web-Service vom Typ "PIPELINE" für Services erstellen müssen, verwenden Sie den
folgenden Befehl:
Verwenden Sie den Namen des neuen Web-Service vom Typ "PIPELINE" für name und den Namen der Gruppe für gruppe.CEDA DEF PIPELINE(name) GROUP(gruppe) - Legen Sie für das Feld "Configfile" /u/cicsts31/pipelines/basicsoap11provider.xml fest.
- Legen Sie für das Feld "Shelf" zielverzeichnis/provider/shelf fest. Hierbei steht zielverzeichnis für den Wert, den Sie für die Builddeskriptoroption destDirectory verwendet haben.
- Legen Sie für das Feld "Wsdir" zielverzeichnis/provider fest. Hierbei steht zielverzeichnis für den Wert, den Sie für die Builddeskriptoroption destDirectory verwendet haben.
- Wenn Sie einen neuen Web-Service vom Typ "PIPELINE" für Services erstellen müssen, verwenden Sie den
folgenden Befehl:
- Installieren Sie die Gruppe mit dem folgenden Befehl:
Verwenden Sie den Namen der Gruppe für gruppe.CEDA INSTALL GROUP(gruppe)