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.
- Erstellen Sie mithilfe von Rational Developer for System z ein Verbundelement.
- Geben Sie den Namen des Anwendungsprogramms für die Implementierung
der Komponente an.
- 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.
- Optional: Definieren Sie Importe für die
Verbundreferenz. Importe definieren die Abhängigkeiten der Komponente
oder des Verbundelements.

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.
- 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.
- 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.
- 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.