Cloud enabled CICS applications

The large set of resources that make up a business application within CICS® can be logically defined as a single entity and deployed on a platform as a single resource. An application that is defined in this way can then be managed as a single entity throughout its lifecycle, making CICS application management faster, easier, and less prone to error.

You package a CICS application into an application bundle to deploy, manage, and monitor it as a single entity. With an application bundle, you can install and manage the resources for the application in all of the CICS regions in a platform.

  • Dependency management is handled by CICS, and multiple applications can share individual resources. For supported resource types, you can install more than one resource with the same name, at the same time, if the resources are deployed as part of applications.
  • You can install and manage multiple versions of an application at the same time on the same platform instance.
  • Applications can be monitored as a logical whole across multiple CICS regions within a platform, helping users to manage resource usage and process internal charge-back billings.
  • The ability to drill down to the resource consumption of individual application operations is simplified.
  • Problem determination can start with the overall application and drill down to individual tasks and resources.

Packaging applications

When you have developed a CICS application, you can use the CICS Explorer® to package it for deployment on a platform. If your application includes Java™, use the IBM® CICS SDK for Java.

To package an application, you first create a CICS bundle for each application component, using a CICS Bundle project in the CICS Explorer. The CICS bundle identifies or defines the resources that are needed for the application component, grouping them together and enabling you and CICS to manage them as a single entity. The bundle also declares any dependencies on other resources outside the bundle that must be available in the CICS region where the application component runs. For information about the types of dependencies and resources that you can define in a CICS bundle, see Defining CICS bundles.

In the CICS bundles, you declare application entry points for each of the ways in which your application can be started. For example, you can associate an application entry point with a CICS program that is part of the application. The application entry point specifies the operation that is taking place in the application, such as a read, write, or update operation. Application entry points control users' access to different versions of an application that is deployed on a platform. A number of different CICS resource types can be declared as application entry points.

To group together all the resources for all the application components, you create an application bundle, using a CICS Application project in the CICS Explorer. The application bundle is a type of management bundle that describes the whole application. The application bundle references the CICS bundles that contain the dependencies and resources for each of the application components.

You also create an application binding to define how the application is deployed on a platform, using a CICS Application Binding project in the CICS Explorer. The application binding is an association that maps the bundles in an application to the region types in the target platform. For example, three bundles might be installed in a single CICS region, or one bundle might be deployed on a region type within the platform, and the other two bundles deployed on another region type within the platform. You can deploy additional CICS bundles with the application binding, as an alternative to deploying them with an application bundle or adding them to the platform. These CICS bundles might include policies or resource definitions that control or customize the behavior of the application for the target platform.

When you have created the application bundle and the application binding, you export them to the platform home directory in zFS, where applications, application bindings, and policies are stored. You also use the CICS Explorer to create an application definition in the data repository of the CICSplex where the platform is configured. The application definition is an APPLDEF resource definition that points to the application bundle and the application binding in the platform home directory for the platform where the application runs.

Deploying and managing the lifecycle of applications

To install an application in a platform, you use the application definition that you created following the export process. When you install the APPLDEF resource definition in the target platform where you want to run the application, CICSPlex® SM uses the information in the application bundle and the application binding to install the CICS bundles to each of the regions in the platform. In each CICS region, the resources specified in the bundles are dynamically created, and CICS also checks that any resources specified as dependencies are present. CICSPlex SM automatically manages the deployment of applications when you start or restart CICS regions that are in the platform.

Application bundles include version information for the application. You use versioning to manage applications during testing and promotion from your test environment to your production environment, and to manage the availability of different application versions to users.

When you make changes to your applications, you update the version information for the application bundle and the application binding, and export the new version of the application bundle and application binding to the home directory for the platform in zFS. You then create a new APPLDEF resource definition for the new version of the application. When you install the APPLDEF resource definition, the CICS bundles for the new version of the application are installed in the appropriate regions in the platform.

When you install an APPLDEF resource definition, an APPLCTN resource is created to represent the application bundle, and you can use this resource to remove an application as a single entity. When you discard the APPLCTN resource, the CICS bundles it references are discarded, and the resources that were dynamically created in each CICS region are discarded. The shared resources that are required by other applications are not affected.

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. New versions of these applications can be deployed to the platform without the need to disable or discard the previous version. 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 more information about multi-versioned applications, see Multi-versioning for applications deployed on platforms.

Administering and monitoring deployed applications

When you have installed an application in the CICS regions that are part of your platform, you can also inquire on or browse the CICS resources for the application using the EXEC CICS INQUIRE system programming commands. CICS produces separate statistics records for private resources, and special CICS messages are issued when actions such as installing and discarding are performed on private resources. The statistics records and messages identify the platform, application, and application version to which the private resource applies, so that you can analyze the resources in the relevant context.

The application entry points for an application deployed on a platform are used to create an application context to monitor the resource usage for applications and to identify an application being run. When you view monitoring information about the task in the CICS Explorer or in the monitoring data produced by CICS regions, you can identify the application under which the task is running and see the application context. You can use the information to measure resource consumption by applications (or by particular routes into applications), to use policy-based management for applications, and to relate tasks to specific applications to help with problem diagnosis.

Using policies to control cloud-enabled applications

You can use policies to dynamically manage applications during runtime. CICS performs the action that is specified in the policy when tasks that are running exceed defined thresholds for resource usage. You can deploy the policy with a scope of a platform, an application, or an individual operation within an application, depending on the rule type defined in the policy. For more information about policies, see CICS policies.