XML-based services are Web service provider or requester applications
that use XML to interface with other applications and use a binding to transform
the data. XML-based services are available to CICS® applications that use the INVOKE
SERVICE API command or to business services that are on an external
network.
You can either create Web services using the Web services support
in CICS or
you can use
Rational Developer for System z.
If you use
Rational Developer for System z,
you can also create an SCA component from your Web service. The advantages
to creating a component from a Web service are as follows:
- You can more easily reuse existing components to rapidly develop new composite
applications using Rational Developer for System z.
- You can use SCDL to describe the Web service, moving the configuration
information out of the application and into metadata that is easier to change
without having to change the application. For example, if you want to run
a Web service under different transaction and user IDs, you can change the
SCDL without having to regenerate the Web service binding file.
In SCA, the application program that you want to expose as a Web service
is the implementation of the business logic. The application program is defined
in the <Implementation> element of a component. The component service describes
the interface to the application program in WSDL. A component has one interface,
which can contain a number of operations and bindings.
- Create a composite using Rational Developer for System z.
- Specify the application program name as the component implementation.
- If you want the service to be available externally to CICS, add the
Web service binding to the appropriate service or reference. If you want the
service to be available to CICS applications only, add the CICS binding to the appropriate service
or reference and select the mapped mapping mode in
the tooling. The tooling describes the binding in the SCDL.
The SCDL also includes the data mappings that transform the XML to the appropriate
high-level language.
- Define imports on the composite reference. Imports
define the dependencies of the composite that must be satisfied in the CICS region.
For
details about the recommended ways to create and deploy composites in CICS,
see Best practices for creating and deploying composites.
- Deploy the composite to CICS as a bundle. Rational Developer for System z generates
the bundle manifest and packages the SCDL and other artifacts for you. The
manifest describes all the resources and metadata that CICS requires to successfully install a
BUNDLE resource; the BUNDLE resource represents the composite in the CICS region.
The manifest defines the composite as an SCACOMPOSITE resource type and references
the location of the SCDL using a relative path.
- Create and install the BUNDLE resource. You can optionally
set an SCA domain on the BUNDLE resource definition. An SCA domain typically
represents a set of services that provide an area of business function. You
can install the same bundle using different SCA domains, because CICS identifies
the service by combining the SCA domain and the name of the service. For details
and examples of how to add an SCA domain, see Scoping of bundles
You must ensure that all prerequisites of the bundle are available in
the CICS region
for the BUNDLE resource to install successfully.
When
the BUNDLE resource installs successfully, CICS creates the WEBSERVICE and URIMAP
resources for you using the information from the manifest and SCDL. CICS also checks
that the resources defined in the Imports section of the Reference are present
in the CICS region.
The Imports define the prerequisites for the application.
Your Web service is successfully installed in CICS.
You can test and validate that the Web service works as expected.
You can view the BUNDLE resource and its contents using the IBM CICS Explorer.
You can also enable and disable the BUNDLE resource to manage all the resources
together.