Rational Developer for System z

Types of CICS bindings

CICS® supports the following types of bindings: SCA, web service, and CICS.

SCA binding

The SCA binding is also referred to as the default binding. It is the binding that is used when no other binding is specified for configuration of a component reference or service. It is the natural binding to use when your SCA client invokes an SCA service in the same domain. It is not intended to be interoperable in any way with other SCA runtime implementations. Components communicating within the same domain only need to configure explicitly a default binding on a service or reference when at least one nondefault binding, such as the SCA web service binding or the SCA CICS binding, is also configured.

 CICS attributes 

No CICS-specific attributes exist for this binding type. For CICS, an SCA binding results in a direct link, in the same UOW, to the target implementation program.

Web service binding

The SCA web service binding applies to the services and references of components. This binding defines the manner in which a service is made available as an XML-based service and in which a reference can invoke or access an XML-based service. The web service binding enables SCA applications to expose SCA services as web services to external clients that are optionally implemented as an SCA component. This binding is based on the Web Services Description Language (WSDL), which means that the web service binding either references an existing WSDL binding or enables you to specify enough information to generate a WSDL file. When an existing WSDL binding is not referenced, you can generate a WSDL binding.

Web services technology plays an important role in most SOA solutions relevant today, including SCA. The SCA web service binding type enables SCA applications to expose services as web services to external clients and enables SCA components access to external web services. External clients that access SCA services exposed as web services can optionally be implemented as an SCA component. You can use a web service binding within either a component service or a component reference definition. When you use the web service binding with a component service, this binding type enables clients to access a service offered by a particular component as a web service. When the web service binding is used with a component reference, components in an SCA composite can consume an external web service and access it as if it were any other SCA component. Only WSDL Version 1.1 is supported.

 CICS attributes 
bindfile
Names the relative path to the location of the bind file that contains the mappings for this service. When a bundle is created that contains a binding with a bind file, the bind file should be added to the bundle in a matching location.
pipeline
If present, indicates the pipeline that should be used for this service. You use this to create a suitable URI map for services and control the dispatch of references. For this service or reference to be usable at run time, a value for this attribute must have been provided by one of the services or references in the wired chain that leads from the external (top-level composite service or reference) to the lowest-level service or reference.
transid
If present, indicates the transaction ID that should be used for this service. You use this to create a suitable URI map for services and control the dispatch of references. This attribute might perform a context switch and cause the binding to use request streams rather than LINK.
userid
If present, indicates the user ID that should be used for this service. You use this to create a suitable URI map for services and control the dispatch of references. This attribute might perform a context switch and cause the binding to use request streams rather than LINK.

CICS binding

The SCA CICS binding applies to the services and references of components. This binding defines the manner in which a service is made available as an channel-based service and in which a reference can invoke or access an channel-based service. The CICS binding enables SCA applications to expose SCA services only to other CICS applications that use the INVOKE SERVICE API command and pass binary data in containers on a channel.

When the application calls the channel-based service, CICS resolves the name of the service and issues an EXEC CICS LINK command to pass the specified channel and containers to the application program that you defined in the composite. If you specified a specific requester pipeline in the binding, CICS runs the request through that requester pipeline. If no requester pipeline is specified in the binding, CICS dynamically creates a requester pipeline for the request.

 CICS attributes 
mappingmode
If mapping mode is direct, the channel is passed to the pipeline as is. If it is mapped, the bind file is used to convert the channel to an XML payload (in the same way as for web services).
bindfile
Names the relative path to the location of the bind file that contains the mappings for this service. When a bundle is created that contains a binding with a bind file, the bind file should be added to the bundle in a matching location.
maxcommarealength
Specifies in bytes the maximum size of the COMMAREA that is required for the target application program. The value must not exceed 32,763. If this parameter is present, CICS links to the specified program using a COMMAREA. If this parameter is not present, CICS links to the specified program by using a channel.
webserviceresource
If present, allows the name of any dynamically created CICS web Service resource for this binding to be specified. If you omit the attribute, a generated name will be used. Using this attribute allows external artifacts to reference this resource.
pipeline
If present, indicates the pipeline that should be used for this service. You use this to create a suitable URI map for services and control the dispatch of references. For this service or reference to be usable at run time, a value for this attribute must have been provided by one of the services or references in the wired chain that leads from the external (top-level composite service or reference) to the lowest-level service or reference. For direct mode a default pipeline (empty) is used.
transid
If present, indicates the transaction ID that should be used for this service. Specify a transaction under which the request will run. The transport handler starts a request stream using the specified transaction ID.
userid
If present, indicates the user ID that should be used for this service. Specify a user ID under which the request will run. The transport handler starts a request stream using the specified user ID.
newtask
If the value is Yes, indicates that the service should run in a separate UOW from the requester. If a context switch is needed, no attempt is made to roll back the callers UOW based on the result of the callees.

Feedback