Multi-versioning for applications deployed on platforms

You can install and manage multiple versions of an application at the same time on the same platform instance. With multi-versioning, new versions of an application can be deployed to the platform without the need to disable or remove the previous version, and made available to users without service interruption.

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
  • Statements of application entry points
  • Any resource that is defined as a dependency, or import, for the application
For more details about the CICS resources that are supported as private resources, see Private resources for application versions.

Other resources may be involved with multi-versioned applications if you manage the resources appropriately to avoid resource name clashes between different versions of the application. For example, a URIMAP resource that is part of an application can be renamed when packaging and installing a new version of the application. Or an application can be designed so that a resource not supported for multi-versioning is managed outside the application, but declared as a dependency, or import, for the application. For resources that are, or could be, used by different applications, such as JVMSERVER resources, deploy and manage the resource at the level of the platform, where it can be used by any version of any application deployed on the platform.

Applications that are eligible for multi-versioning benefit from more sophisticated management capabilities:
  • You can install multiple versions of the application, at the same time, on the same platform instance.
  • New versions of an application can be deployed to the platform and phased in without the need to remove the previous versions.
  • You can install and verify installation of an application version before making the application version available to users of the platform.
  • Users can be moved over to a new version of the application without a break in service, and quickly moved back to another version if necessary.
  • Programs that are not aware of multi-versioning automatically link to the highest version of the application that you have made available on the platform.
  • Programs can exploit multi-versioning by invoking any available version of the application using the INVOKE APPLICATION command.

You control users' access to the resources in a multi-versioned application by declaring application entry points. A number of different CICS resource types can be declared as application entry points, which can be set as available or unavailable to users. With application entry points, you can install the application and its resources in the CICS regions in the platform, then enable them to verify the installation. When you choose to provide the service to users, you make the application entry points, and therefore the resources that they control for the application, available to callers.

You can use the CICS Cloud perspective in the CICS Explorer® to view, update, and remove all the versions of an application that are deployed on a platform. You can open an installed application version in the online application editor to view more details about it, including the private resources and application entry points for the application. You can make available or unavailable, enable or disable, and install or discard an installed application version in the Cloud Explorer view, and you can also modify its state in the application descriptor editor for installed applications.

You can invoke a specific version of a multi-versioned application by using the EXEC CICS INVOKE APPLICATION command. For more information about invoking a specific version of an application, see Invoking a multi-versioned application.