Updating CICS bundles

You can specify that a CICS® bundle has changed by increasing the version in the bundle manifest file. If the CICS bundle is referenced by an application bundle, you must also increase the version of that bundle for redeployment. This information is important for tracking and managing changes to the CICS environment.

Before you begin

When you update an application that is deployed on a platform, the application is unavailable to users from the time when you disable and discard the installed APPLCTN resource in the CICSplex for the previous version of the application, to the time when you install the new APPLDEF resource definition and enable the new version of the application. Plan a suitable time when this can safely occur, or plan an alternative solution for users of the application during that time.

About this task

You can manage changes to CICS bundles and management bundles, such as application bundles, by using version control. Each bundle has an ID and version information to uniquely identify it. The version uses major, minor, and micro identifiers, so you can indicate the significance of a change and manage the dependencies between bundles. This concept is called semantic versioning and is taken from the OSGi Alliance. Although it focuses on Java™ packages, you can use the same principles to apply to bundles in general.

Semantic versioning provides a way to increment the major, minor, or micro parts of a version to indicate the compatibility or incompatibility with previous versions of a bundle. For example, bug fixes might increment the micro part of the version, compatible changes increment the minor part of the version, and incompatible changes increment the major part of the version. For more information about semantic versioning, see Semantic Versioning Technical Whitepaper.

It is a best practice to apply a versioning policy to your CICS bundles to effectively deploy and manage updates in the CICS environment.

Procedure

  1. Update the CICS bundle as required. Editing resources defined in a CICS bundle project explains how to use the resource editors to edit resources that are defined in bundles.
  2. Expand the META-INF folder and open the cics.xml file. In the Version field, increment the version of the bundle and save your changes.
  3. If the CICS bundle is referenced by an application bundle, expand the META-INF folder for the application bundle and open the application.xml file. Increment the major, minor, and micro version numbers for the application, then save your changes.
  4. If the CICS bundle is referenced by an application bundle, increment the major, minor, and micro version numbers for the application in the appbinding.xml file for the application binding, and also increment the version number for the application binding itself, then save your changes.
  5. Redeploy the CICS bundle or the application bundle and application binding that include it, by exporting the project to z/OS® UNIX. You can deploy the bundle into a differently named directory, because the version is used as part of the bundle directory name.
  6. If the CICS bundle is not referenced by an application bundle:
    1. Disable and discard the installed BUNDLE resource that represents the previous version of the CICS bundle.
    2. Edit the BUNDLE resource definition to point to the updated bundle directory.
    3. Reinstall the BUNDLE resource definition.
  7. If the CICS bundle is referenced by an application bundle:
    1. Disable and discard the installed APPLCTN resource that represents the previous version of the application bundle.
    2. Create a new APPLDEF resource definition to point to the updated application directory.
    3. Install the new APPLDEF resource definition.

Results

The CICS bundle is installed in the appropriate CICS regions, and the resources that are defined inside the bundle are dynamically created in the CICS regions.