Defining CICS bundles

A CICS® bundle is a directory that contains artifacts and a manifest that describes the bundle and its dependencies. CICS bundles provide a way of grouping and managing related resources.

CICS bundles also provide versioning for the management of resource updates, and can declare dependencies on other resources outside the bundle. Application developers can use CICS bundles for application packaging and deployment, business events, and services. System programmers can use CICS bundles to define CICS policies.

About this task

You create CICS bundles using the IBM® CICS Explorer® or IBM Developer for Z. The bundle specifies a set of resources that CICS creates dynamically when the bundle is deployed. The bundle can also specify any prerequisite system resources for the application. CICS does not dynamically create prerequisite system resources but can check that they exist in the CICS region.

Some characteristics of CICS resources change because they are defined in a CICS bundle and dynamically created as part of a bundle deployment. The life cycles of CICS resources that are created in this way cannot be managed independently of the BUNDLE resource. They must be managed through the CICS bundle as a unit. Because of bundle and resource lifecycle interdependency, application architects must carefully consider which set of resources for an application should have their lifecycle tied to the lifecycle of a CICS bundle. To understand more about the potential implications of defining resources in CICS bundles, see Characteristics of resources in CICS bundles.

You can deploy an individual CICS bundle in a CICS region, or you can use it as part of a packaged application deployed on a platform, or deploy it directly on a platform. If you are deploying the CICS bundle in an application or to a platform, you create the CICS bundle using the normal process, but then you package it as part of the application, or add it directly to the platform.

Applications deployed on platforms that use the CICS resources that are supported as private resources, in combination with other resources designed for applications and with imported resources, are eligible for multi-versioning. The following resources are supported as part of multi-versioned applications:
  • PROGRAM resources defined in CICS bundles that are part of the application
  • LIBRARY resources defined in CICS bundles that are part of the application
  • PACKAGESET resources defined in CICS bundles that are part of the application
  • Policies that define task rules to manage application user tasks
  • Statements of application entry points
  • Any resource that is defined as a dependency, or import, for the application

A CICS bundle can be installed in CICS regions by more than one application if it contains only resources that are eligible for multi-versioning.

A CICS bundle that contains other resource types cannot be included in other applications that are installed in the same CICS regions in the platform, and you cannot add it to the platform if it has already been installed for an application. If your application requires a resource that is not supported for multi-versioning and has already been used in a CICS bundle that has been installed in the target region type in the platform, create a new CICS bundle project. Declare the resource as a dependency for the new CICS bundle, by specifying an import in the manifest file. Then include the new CICS bundle project in your application project.

Procedure

  1. Use the IBM CICS Explorer to create a CICS bundle and define the artifacts that you want to include in the bundle.
  2. If you are deploying the CICS bundle on its own, deploy it to a suitable directory on z/OS® UNIX.
    CICS must have permission to read this directory.
    If you are deploying the CICS bundle as part of an application or a platform, follow the instructions in Working with platforms and applications in the CICS Explorer product documentation to include the CICS bundle.
  3. If you are deploying the CICS bundle on its own, define, enable, and make available a BUNDLE resource for the CICS bundle.
    See BUNDLE resources for details of the attributes to specify.
  4. If you are deploying the CICS bundle with a platform, follow the instructions in Working with bundles in the CICS Explorer product documentation to remove the previous version of the CICS bundle then add the new version of the CICS bundle to the platform.
  5. If you are deploying the CICS bundle as part of an application, follow the instructions in Working with applications in the CICS Explorer product documentation to deploy the application.

Results

CICS reads the manifest in the bundle directory and dynamically creates the CICS resources. CICS also checks that any required dependencies, for example programs or files, outside the bundle are present in the CICS region.

What to do next

You can inquire on the installed BUNDLE resource and its associated resources using the CICS Explorer. The resource signature of every dynamically created resource indicates that it was created by a BUNDLE resource.

You cannot directly enable, disable, or discard resources that are created dynamically by a BUNDLE resource. When you enable, disable, or discard a CICS bundle, or make it available or unavailable, the actions are also applied to the dynamically created resources for the bundle. If the CICS bundle is part of an application in a platform, and you enable, disable, or discard the platform or application, or make the application available or unavailable, the actions are applied to the CICS bundle and the dynamically created resources for the bundle.

You can use the editor in the CICS Explorer to modify the artifacts that are specified in a CICS bundle, and the definitions for resources that CICS creates dynamically when the bundle is deployed. To apply your changes, deploy your modified CICS bundle on the directory on z/OS UNIX, make unavailable then disable and discard the BUNDLE resource, and then install the BUNDLE resource again and make it available.