How it works: applications
The large set of resources that make up a business application in 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.
Applications provide a powerful and capable container around CICS TS bundled resources. These resources track the application lifecycle, from installation to eventual discard. They can host resources, application dependencies, and policies. Their overall health can be tracked through the application’s status. Additionally, the application can provide entry points, whose declared operations, for example querying customer or authorizing payment, can be used for simple and accurate resource monitoring and billing through System Management Facilities (SMF) records. CICS policy that defines task rules can also be deployed as part of an application to take effect only on those tasks that are related to specific operations.
Applications support multi-versioning, enabling you to run multiple versions of an application (for example, the current version and a newly-patched version) at the same time on the same platform instance. Applications can contain private program and library resources so that each application version can run different versions of programs, even when the program resources have the same name. For more information, see How it works: multi-versioning applications.
- Measure, at the application level, the cost of existing applications.
- Protect, by using policies, your CICS regions against problem applications that use too many resources.
- Manage application resources as a single entity throughout the application lifecycle and across every CICS region in which your application runs.
- Deploy multiple versions of the same application to the same regions, and deploy different applications to the same CICS regions even if they have clashing program names.
- Move applications from development, into test, and into production without changing them.
This section introduces Components of an application and How do I set up an application?
Components of an application
- The CICS application itself
- One or more CICS bundles to define or import resources for use by the application
- A CICS application binding
- An APPLDEF resource definition
- One or more application entry points, which also set up an application context
- Optionally, CICS policy that defines task rules to ensure that the application runs within defined limits.
The deployed CICS application artefacts are located in a directory in zFS that is associated with the platform on which the application runs. See Platform directory structure on zFS for details.
You use CICS Explorer® to create and manage the components of the application. Figure 1 shows the relationship between these components. You can secure a platform and its deployed applications by setting up RACF® security profiles in a similar way to security for other CICSPlex® SM components. For information, see Security for platforms and applications.
- Application
- In CICS Explorer, a CICS Application project defines an application bundle. An application bundle is a type of management bundle that describes a CICS application, including its name and version information. This management bundle references the CICS bundles that contain the dependencies and resources for the application. All the application resources are installed and managed together. When the application is ready for testing, it is exported to zFS, where it is used by CICS TS at run time.
- CICS bundles
- The CICS TS application contains one or more CICS bundles, each of which define or import a set of resources for use by the application. A CICS bundle is a container for a set of CICS TS resources. When a CICS bundle is installed into a CICS TS region, the set of resources that it contains also get installed.
Imported resources in the bundle enable the application to declare a dependency on a specific resource that is not defined by this application, for example a file that is shared by multiple applications. The dependency is checked by CICS TS at installation time and, if it is not available, the application will not enable.
A CICS TS application might span several different types of CICS TS regions. For example, the application might process requests in a web-owning region (WOR) and then run business logic in an application-owning region (AOR). If this is the case, the CICS TS application can contain a CICS bundle of resources for the WOR, and a second CICS bundle of resources for the AOR. The CICS bundles must be available on zFS when the application is installed.
- Application binding
- The CICS application binding is the link between a CICS TS application and a CICS TS platform. A CICS TS application is deployed into a platform. The application should remain unchanged when it is deployed into different platforms (for example, a development platform and a test platform). To enable this, a CICS application binding is used. The application binding maps the bundles in the application (its needs) to the specific platform into which it is to be deployed. The application binding can add more CICS bundles to the application as an alternative to deploying them with the application or adding them to the platform. These bundles might include policies or resource definitions that control or customize the behavior of the application for the target platform. The application binding is exported to zFS. For more information, see Application binding
- Application (APPLDEF) resource definition
- The application definition, which is an APPLDEF resource definition in the data repository for the CICSplex, tells CICS TS where to find the application and application binding on zFS. On installation of the APPLDEF, the application is installed.
- Application entry points
- An application entry point identifies a resource that is an access point to an application.
Application entry points are used to control users' access to different versions of an application
that is deployed on a platform. PROGRAM, URIMAP, and TRANSACTION resources can be declared as
application entry points.
You can declare one or more application entry points for a CICS bundle that is to be packaged and deployed as part of an application. Each application entry point is declared on a resource and also names the operation that is performed by the resource, such as a create, read, update, or delete operation. For more information, see Application entry points.
They are also used to create an application context to monitor the resource usage for applications and to identify an application that is running. When a task passes through an application entry point, application context data is associated with the task. The application context data is propagated forwards to other CICS TS regions that the task uses. The application context data can be made available in monitoring records to provide a way of measuring how much system resources an application is using. For more information, see Application context.
- Optional policies
- Policies that define task rules can be defined in CICS bundles that are part of the CICS application. These policies enforce that the application meets particular requirements. For example, it might need to complete within a specified amount of time.
For more information, see CICS policies.
How do I set up an application?
At a high-level, you'll go through the steps below. Figure 1 shows what you'll end up with.
Applications are deployed into platforms.
- Design the application, considering what application entry points, policies, and resources that you want to deploy as part of the application. For more information, see Designing a CICS platform.
- In CICS Explorer, create CICS bundles to contain the application resources, application entry points dependencies, and any CICS policies relating to the application. For more information, see Defining CICS bundles.
- In CICS Explorer, create an application project to define the application bundle. The application bundle references the required CICS bundles. For more information, see Packaging CICS applications for deployment in a cloud environment.
- In CICS Explorer, create an application binding project to describe the deployment rules for the application to a region type in a platform.
- From CICS Explorer, export the application project, the application binding project, and the CICS bundles to zFS. The export process exports the files to the platform home directory in zFS in the applications, bindings, and bundles subdirectories. For more information, see Deploying an application to a platform.
- In CICS Explorer, create an application definition. The application definition is a CICSPlex SM APPLDEF resource definition, which points to the application bundle and the application binding in the platform home directory for the platform where the application runs. For more information, see Deploying an application to a platform.
- In CICS Explorer, install the application to a platform. CICSPlex SM uses the information in the application bundle and the application binding to install the CICS bundles that make up the application into all of the target CICS regions in the platform. In each region, the resources that are specified in the bundles are dynamically created and CICS checks that any resources that are specified as dependencies are present. For more information, see Deploying an application to a platform.
- In CICS Explorer, make the application available for users to start through the available application entry points. For more information, see Managing applications.
