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.