CICS resources for Web services

The following CICS® resources support Web services in CICS:

PIPELINE
A PIPELINE resource definition is required in every case. It provides information about the message handler programs that act on a service request and on the response. Typically, a single PIPELINE definition defines an infrastructure that can be used by many applications. The information about the message handlers is supplied indirectly: the PIPELINE specifies the name of an HFS file which contains an XML description of the handlers and their configuration.

A PIPELINE resource that is created for a service requester cannot be used for a service provider, and vice versa. The two sorts of PIPELINE are distinguished by the contents of the pipeline configuration file that is specified in the CONFIGFILE attribute: for a service provider, the top level element is <provider_pipeline>; for a service requester it is <requester_pipeline>.

WEBSERVICE
A WEBSERVICE resource definition is required only when the mapping between application data structure and SOAP messages has been generated using the CICS Web services assistant. It defines aspects of the run time environment for a CICS application program deployed in a Web services setting.

Although CICS provides the usual resource definition mechanisms for WEBSERVICE resources, they are typically created automatically from a Web service binding file when the PIPELINE's pickup directory is scanned. This happens when the PIPELINE resource is installed, or as a result of a PERFORM PIPELINE SCAN command. The attributes applied to the WEBSERVICE resource in this case come from a Web services binding file, which is created by the Web services assistant; information in the binding file comes from the Web service description, or is supplied as a parameter of the Web services assistant.

A WEBSERVICE resource that is created for a service requester cannot be used for a service provider, and vice versa. The two sorts of WEBSERVICE are distinguished by the PROGRAM attribute: for a service provider, the attribute must be specified; for a service requester it must be omitted.

URIMAP
A URIMAP definition is required only in a service provider, and contains information that maps the URI of an inbound Web service request to the other resources (such as the PIPELINE) that will service the request.

Although CICS provides the usual resource definition mechanisms, for service providers deployed using the CICS Web services assistant the URIMAP resources are typically created automatically from a Web service binding file when the PIPELINE's pickup directory is scanned. This happens when the PIPELINE resource is installed, or as a result of a PERFORM PIPELINE SCAN command. The attributes applied to the URIMAP resource in this case come from a Web services binding file, which is created by the Web services assistant; information in the binding file comes from the Web service description, or is supplied as a parameter of the Web services assistant.

TCPIPSERVICE
A TCPIPSERVICE definition is required in a service provider that uses the HTTP transport, and contains information about the port on which inbound requests are received.
The resources that are required to support a particular application program depends upon the following:
Service requester or provider CICS Web services assistant used PIPELINE required WEBSERVICE required URIMAP required TCPIPSERVICE required
Provider Yes Yes Yes (but see note 1) Yes (but see note 1) See note 2
No Yes No Yes See note 2
Requester Yes Yes Yes No No
No Yes No No No
Notes:
  1. When the CICS Web service assistant is used to deploy an application program, the WEBSERVICE and URIMAP resources can be created automatically when the PIPELINE's pickup directory is scanned. This happens when the PIPELINE resource is installed, or as a result of a PERFORM PIPELINE SCAN command.
  2. A TCPIPSERVICE resource is required when the HTTP transport is used. When the WebSphere® MQ transport is used, a TCPIPSERVICE resource is not required.
Typically, when you deploy many Web services applications are deployed in a CICS system, you will have more than one of each type of resource. In this case, you can share some resources between applications.
For each ... You can have ...
Pipeline configuration file
  • More than one PIPELINE resource that refers to the file
PIPELINE resource
  • More than one URIMAP resource that refers to the PIPELINE
  • More than one WEBSERVICE resource that refers to the PIPELINE
  • More than one Web service binding file in the PIPELINE's pickup directory
Web service binding file
  • Just one URIMAP resource that is automatically generated from the binding file. But you can define further URIMAPs using RDO.
  • Just one WEBSERVICE resource that is automatically generated from the binding file. But you can define further WEBSERVICEs using RDO.
WEBSERVICE
  • More than one URIMAP resource. If the WEBSERVICE resource is automatically generated from the binding file, there is just one corresponding URIMAP resource. But you can define further URIMAP resources using RDO.
URIMAP
  • Just one TCPIPSERVICE when it is explicitly named in the URIMAP resource.
TCPIPSERVICE
  • Many URIMAP resources.