Rational Developer for System z, Version 7.6

Channelbasierten Service erstellen

Channelbasierte Services sind CICS-Anwendungen, die als Komponenten beschrieben werden und mit einem Tool wie Rational Developer for System z zusammengesetzt werden. Diese Services sind nur für andere CICS-Anwendungen verfügbar, die den API-Befehl INVOKE SERVICE verwenden und Binärdaten in Containern für einen Channel übergeben.

In der Service Component Architecture ist das Anwendungsprogramm, das Sie als channelbasierten Service zugänglich machen möchten, die Implementierung der Geschäftslogik. Der Komponentenservice beschreibt die Schnittstelle zu dem Anwendungsprogramm in der Web Services Description Language (WSDL). Eine Komponente verfügt über eine Schnittstelle, die Operationen und Bindungen enthalten kann. Für einen channelbasierten Service beschreibt eine CICS-Bindung den Channel. Wenn Sie diese Bindung auswählen, fügt Rational Developer for System z dem SCDL-Code einen Abschnitt binding.cics hinzu. Einem channelbasierten Service sind keine Daten zugeordnet, da die Anwendungsschnittstelle einen Channel und Binärdaten in Containern erwartet.

  1. Erstellen Sie mithilfe von Rational Developer for System z ein Verbundelement.
    1. Geben Sie den Namen des Anwendungsprogramms für die Implementierung der Komponente an.
    2. Fügen Sie dem entsprechenden Service bzw. der entsprechenden Referenz die CICS-Bindung hinzu, indem Sie den Zuordnungsmodus direct im Tool auswählen.
      • Wenn Sie einen URI für die CICS-Bindung angeben, die dem Verbundservice zugeordnet ist, stellt dieser URI den externen Namen für den Service bereit. Dieser URI ist ein relativer Pfad in CICS. Wenn der Service beispielsweise als http://myhost:port/myService bereitgestellt werden soll, lautet der URI in der Bindung myService, da sich der Host und der Port außerhalb der Kontrolle der Verbundanwendung befinden.
      • Wenn Sie einen URI für die CICS-Bindung angeben, die der Verbundreferenz zugeordnet ist, gilt der gesamte URI für den Zielservice, beispielsweise http://myhost:port/myService oder cics://PROGRAM/prog1?user=user1.
    3. Optional: Definieren Sie Importe für die Verbundreferenz. Importe definieren die Abhängigkeiten der Komponente oder des Verbundelements.
    Ein Rechteck stellt das Verbundelement dar. Innerhalb des Verbundelements befindet sich ein weiteres Rechteck, das die Komponente darstellt. Ein kleiner Pfeil zeigt von links in die Komponente hinein, um den Komponentenservice darzustellen. Ein weiterer kleiner Pfeil zeigt auf der rechten Seite aus der Komponente hinaus, um die Komponentenreferenz darzustellen. Ein großer Pfeil zeigt von links in das Verbundelement hinein, um den Verbundservice darzustellen. Er enthält Text, der ihn als Operation mit einer CICS-Bindung kennzeichnet. Ein großer Pfeil zeigt auf der rechten Seite aus dem Verbundelement hinaus, um die Verbundreferenz darzustellen. Er enthält Text, der angibt, dass sie über Importe mit einer CICS-Bindung verfügt.

    Details zu den empfohlenen Vorgehensweisen zum Erstellen und Implementieren von Verbundelementen in CICS finden Sie in Bewährte Verfahren zum Erstellen und Implementieren von Verbundelementen.

  2. Implementieren Sie das Verbundelement als Paket in CICS. Rational Developer for System z generiert das Paketmanifest und erstellt ein Paket aus dem SCDL-Code und anderen Artefakten für Sie. Das Manifest beschreibt alle Ressourcen und Metadaten, die CICS für die erfolgreiche Installation einer BUNDLE-Ressource benötigt. Die BUNDLE-Ressource repräsentiert das Verbundelement in der CICS-Region. Das Manifest definiert das Verbundelement als einen SCACOMPOSITE-Ressourcentyp und referenziert die Speicherposition des SCDL-Codes mithilfe eines relativen Pfads.
  3. Erstellen und installieren Sie die BUNDLE-Ressource. Sie können optional eine SCA-Domäne für die BUNDLE-Ressourcendefinition festlegen. Eine SCA-Domäne stellt normalerweise ein Servicepaket dar, das einen Bereich von Geschäftsfunktionen bereitstellt. Sie können dasselbe Paket mit unterschiedlichen SCA-Domänen installieren, da CICS den Service durch die Kombination aus der SCA-Domäne und dem Namen des Service erkennt. Details und Beispiele zur Vorgehensweise beim Hinzufügen einer SCA-Domäne finden Sie in Scoping von Paketen

    Sie müssen sicherstellen, dass alle Voraussetzungen des Pakets in der CICS-Region verfügbar sind, damit die BUNDLE-Ressource erfolgreich installiert werden kann.

  4. Schreiben Sie eine Anwendung, um den channelbasierten Service mithilfe des API-Befehls INVOKE SERVICE aufzurufen:
    EXEC CICS INVOKE SERVICE('Servicename')
              CHANNEL(Channel)
              OPERATION(Operation)

    Der Servicename ist der externe Name des Service, der Channel ist der 16-Byte-Name des Channels und die Operation kann ein beliebiger Wert sein. Obwohl die Operation eine obligatorische Option für den Befehl ist, wird der Wert für channelbasierte Services nicht verwendet.

Wenn die Anwendung den channelbasierten Service aufruft, löst CICS den Namen des Service auf und setzt den Befehl EXEC CICS LINK ab, um den angegebenen Channel und die Container an das Anwendungsprogramm zu übergeben, das Sie in dem Verbundelement definiert haben. Wenn Sie eine bestimmte Requester-Pipeline in der Bindung angegeben haben, führt CICS die Anforderung über diese Requester-Pipeline aus. Wenn keine Requester-Pipeline in der Bindung angegeben wurde, erstellt CICS dynamisch eine Requester-Pipeline für die Anforderung.
Sie können testen und überprüfen, ob der Service wie erwartet funktioniert. Sie können die BUNDLE-Ressource und ihren Inhalt mithilfe des IBM CICS Explorer anzeigen. Sie können die BUNDLE-Ressource auch aktivieren und inaktivieren, um alle Ressourcen zusammen zu verwalten.

Nutzungsbedingungen | Feedback

Dieses Information Center basiert auf Eclipse-Technologie. (http://www.eclipse.org)