The article “CICS V5.1: Delivering a Portfolio to Power the Platform” (available at http://esmpubs.com/dnpei) outlined how the recent release of CICS Transaction Server (TS) for z/OS is addressing the concept of a platform in a private cloud and simplifying the mystique of deploying, administering and controlling the CICS environment.
Here we look at applications and the enhancements in CICS and CICS tools that enable you to create agile services from existing assets. We describe how disparate application resources can be combined and managed as a single entity that can then be versioned rapidly and moved through the various steps in the application lifecycle, such as development, test and production. Also, we examine a capability included in CICS V5.1 that handles dependency management and measures entire applications for resource usage and accurate internal billing. This function can be managed dynamically by applying policies during run-time.
What’s an Application?
A CICS application can be described as a collection of related programs and other resources that together perform a business operation. So, how is a CICS application invoked or executed? There are many ways of doing this, including from a transaction ID for a 3270 session, an EXEC CICS START command, a URIMAP for a Web request, etc. However, all these applications have resources or dependencies; for example, VSAM or DB2 tables, temporary storage, transient data or MQ queues, programs or a Java Virtual Machine (JVM). Wouldn’t it be great to have all these dependencies and resources packaged together in some way to make application deployment more straightforward, easier and faster?
CICS enables a collection of CICS resources to be collected and managed as a single logical unit called a “bundle.” All bundle parts are managed together so that if any part is disabled, the whole bundle is disabled. Therefore, when a collection of resources is required to be migrated—for example, from test to production—the bundle artifact can be migrated as a single entity, much in the same way as a load module. During the creation of a bundle, resource dependencies can be specified; so, for example, if a file (NICK) is part of the required resources, it must be present for the bundle to install.
The CICS Explorer system management tool can assist users in the creation of bundles (see Figures 1 through 4). It can be used to define the resources, dependencies and application code for a CICS application. One or more bundle projects must be created, which will allow the user to specify the resources to define and any resource dependencies. Then, an application project that will describe the application must be created. This will include the application name, description and version, as well as references to CICS bundles. This packaging facilitates the management of the application as a single entity.
Figure 4: Creating a Program Definition