Wenn eine Anwendung einen Service aufruft, wenn beispielsweise ein Web-Service-Requester eine SOAP-Nachricht sendet oder eine CICS-Anwendung den API-Befehl INVOKE SERVICE verwendet, verarbeitet CICS die Anforderung mithilfe von Pipelines.
CICS verarbeitet XML-basierte Services in Service-Requester- und Service-Provider-Pipelines. Jeder Pipelinetyp verfügt über einen Transporthandler, der Anforderungen über das Netz senden kann. Eine CICS-Anwendung kann ein Web-Service-Requester oder ein Web-Service-Provider für einen externen Client sein und das Protokoll HTTP, HTTPS, JMS oder WMQ verwenden, um Anforderungen zu senden und zu empfangen.
Wenn beide Web-Services CICS-Anwendungen sind, kann der Service-Requester den Befehl INVOKE SERVICE und einen URI verwenden, der mit cics:// beginnt, um die Pipelineverarbeitung zu optimieren. Die Datenkonvertierungen zur Umwandlung der Binärdaten in XML werden wie gewöhnlich ausgeführt. Die Pipeline durchläuft die Nachrichtenhandler und der Transporthandler der Pipeline stellt eine Verbindung zu einem anderen Programm her oder startet eine Pipeline, je nach angegebenem URI-Typ.
Sie können beispielsweise den URI cics://SERVICE/Service?targetServiceUri=Zielservice-URI verwenden, um die Anforderung über eine Provider-Pipeline ohne den Systemaufwand auszuführen, ein Netz zu verwenden. CICS verwendet die Werte Service und Zielservice-URI, um die Anforderung mithilfe einer URIMAP aufzulösen.
Dieser URI kann nützlich sein, wenn die Requester- und die Provideranwendung in unterschiedlichen Sprachen geschrieben sind oder unterschiedliche Zuordnungsversionen verwenden und unterschiedliche Binärdaten erwarten.
CICS verarbeitet Aufrufe von channelbasierten Services, indem mithilfe von EXEC CICS LINK PROGRAM der Channel und die Container an das Programm übergeben werden, das im SCDL-Code für den Service definiert ist. Wenn die aufrufende Anwendung außerdem einen URI bereitstellt, der mit cics:// beginnt, kann CICS die weitere Verarbeitung in einer Requester-Pipeline ausführen. Gibt die Bindung keine Requester-Pipeline an, erstellt CICS dynamisch eine für die Anforderung.
Wenn der URI mit cics:// beginnt, kann der Transporthandler der Pipeline entweder eine Verbindung zu einem Programm herstellen, eine andere Requester-Pipeline starten oder eine Provider-Pipeline starten. Es gibt drei URI-Typen:
Alternativ kann ein Nachrichtenhandler in der Pipeline den von der Anwendung bereitgestellten URI überschreiben, um die Pipelineverarbeitung zu steuern.
Details zu den Parametern, die Sie für diese URIs angeben können, finden Sie in DFHWS-URI-Container.