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.