Skip to main content

IBM CICS and IMS Support Leading-Edge Development

Joseph Gulla fills out details of middleware categories by highlighting powerful examples of transaction processing monitors, with a focus on IBM CICS and IMS.

"IT Trendz" in white against a purple banner, white chat bubble in righthand corner, with dots connected by white lines against a blue background.

This week, I’m continuing this series on middleware. With this post, I continue to fill out the details of the categories (see list below) by highlighting some powerful examples of transaction processing monitors with a focus on IBM CICS® and IMS®. Because these products have a long history of client use supported by decades of development and modernization by IBM, these products are much more than data communication and database products. These products support leading-edge development methods and the most useful programming languages and tools.

The Critical Roles of CICS and IMS 

CICS and IMS are products that empower the interactive world of dynamic inquiries and real-time updates with support for key database technologies. In general terms, both products have data communications functionality, which support interaction with a variety of protocols and devices, and database functionality, which makes available hierarchical and relational advanced capabilities. It’s useful to understand CICS and IMS history to appreciate the significance of the products on the IT industry. Both started in the 1960s in different ways and under different circumstances, and both are thriving today. How are they important to IT?
 
Here are two simple measures. CICS processes more than 1.1 million transactions per second – that’s 100 billion transactions a day. IMS processes over 50 billion transactions per day. This obviously isn’t the whole story, but the statistics are nevertheless compelling.

Significant Characteristics

Here’s a concise list of attributes of both IBM CICS and IBM IMS products. These features were selected to give a clear idea of basic operation, organization and support provided by the products.

For CICS:
  • A CICS application is a collection of related programs that, together, perform a business operation, such as processing a travel request or preparing a company payroll
  • Application developers use COBOL, OO COBOL, C, C++, Java®, PL/I, or Assembler language to write CICS application programs to run on z/OS®. Most of the processing logic is expressed in standard language statements, but you use CICS commands, or the Java and C++ class libraries to request support from CICS.
  • CICS has a powerful command language for application developers to use in their programs. The general format of a CICS command is EXECUTE CICS (or EXEC CICS) followed by the name of the command and often one or more options.
  • CICS applications execute under CICS control, using CICS services and interfaces to access programs and files. Although CICS provides a layer of function for managing transactions, the OS remains the final interface with the computer hardware. 
  • Submitting a transaction request traditionally starts CICS applications. Execution of the transaction consists of running one or more application programs that implement the required function.
For IMS:
  • IMS has been developed to provide an environment for applications that require very high levels of performance, throughput, and availability. IMS uses many of the facilities offered by the OS and hardware to achieve these goals.
  • Application programs that are written to use IMS functions can be written in a number of programming languages: Assembler, C/C++, COBOL, Java, Pascal, PL/I and REXX. These applications access IMS resources by calling a number of standard IMS functions through standard APIs:
  • IMS consists of three components: the database manager (IMS DB), the transaction manager (IMS TM) and a set of system services that provide common services to IMS DB and IMS TM, providing a complete online transaction-processing environment
  • IMS TM and IMS DB can be ordered and paid for separately if the functions of one component aren’t required. The appropriate system services are provided for the component ordered. When IMS DB is ordered by itself, it’s called DB Control (DBCTL). When IMS TM is ordered by itself, it’s called DC Control (DCCTL).
  • IMS is developed so that each new release of IMS is upwardly compatible, meaning that applications that were written for a previous release of IMS will run without modification, protecting the investment that customers have made in their applications 

Some Key Benefits

Consider these benefits of CICS and IMS relating to flexibility, concurrency, risk and data privacy. At first glance, many of the benefits listed below appear to be technical, but most are actually powerful benefits to the business like high levels of concurrency, which translates to getting cost-effective utilization of your computing resources. Another example is the use of APIs to access existing data stores, which represents an opportunity to generate additional revenue.
 
For CICS:
  • CICS is a flexible and general-purpose transaction processing subsystem for the z/OS OS that contains the support necessary to build and support mission-critical applications
  • High levels of concurrency are provided by CICS, which provides services for running an application online, by request, at the same time many other users are submitting requests to run the same applications, using the same files and programs
  • CICS manages the sharing of resources, the integrity of data and prioritization of execution with fast response. CICS authorizes users; allocates real storage and cycles; and passes on database requests by the application to the appropriate database manager
  • A transaction may execute several programs in the course of completing its work supporting modular application design
  • CICS encourages developers to keep their application logic separate from their application resources, which makes program maintenance simpler
For IMS:
  • Manage risk and data privacy by encrypting IMS and IBM Db2® data with minimal CPU overhead, zero application changes and no SLA impact. IMS also redacts client data from dumps to protect data privacy in diagnostics.
  • Deliver cloud native development by using the same DevOps tools, including Zowe™, to simplify development. Use IMS to expand Java development with dynamic configuration of variables and options to improve security and flexibility
  • Identify workload performance anomalies, especially multisystem interdependencies that are now common, directly correlate anomalous performance of IMS data workloads to reduce CPU costs using IBM z/OS Workload Interaction Correlator 
  • Monetize an open, connected database to optimize your IMS investment and generate returns from APIs. IMS applications can easily consume REST APIs to help you rapidly introduce new applications and services.
  • Boost recovery and scalability with IBM z15™ Instant Recovery. Recover transactional backlog up to 2x faster.  

Latest Product Updates for CICS V5.6 and IMS 15

Here is a list of functions that are new in the latest releases of CICS and IMS. There are many different related CICS products but the focus here is transaction server. IMS is a product that has different editions, such as Enterprise Suite and complementary software like analytics products.
 
It’s useful to look at the information supplied in the announcement letters because the new functions are organized by themes. For example, CICS is centered on developer experience, security, resilience and management. IMS is organized by risk, business efficiency and simplicity of administration.
 
For CICS:

CICS TS V5.6 delivers significant new capabilities in the following areas:
 
Developer experience
  • New support for Pivotal Spring Boot
  • New support for Jakarta EE 8 
  • Enhanced CICS Java API
  • New Maven Central libraries for CICS Java application development
  • New plug-ins for Maven and Gradle to automate building CICS bundles
  • New deployment API to simplify CICS bundle deployment during development
  • New support for Node.js Version 12
Security
  • Enhanced support for CICS TS as an HTTP client when using TLS
  • Enhanced VERIFY TOKEN command to process JSON Web Tokens
  • New CICS monitoring for security domain
Resilience
  • Improved reporting and action for z/OS short-on-storage conditions
  • Improved usage of BAS data space storage for large CICSPlex® environments
  • Improved management of CICSPlex System Manager data space usage
  • Support for COMMAREAs up to 32 KB on distributed program links
Management
  • New and enhanced system programming interfaces to assist with JVM server administration
  • New Policy system rule types
  • New z/OS workload management health policy action
  • New support for IBM z/OS Workload Interaction Correlator 

For IMS:

IBM IMS V15 delivers advanced capabilities that help you in the following ways:
 
Manage risk
  • IMS V15, together with the IBM z14 and z15, can help simplify compliance certifications by allowing IBM z/OS data set encryption of IMS data with minimal CPU overhead and no application changes
  • IMS V15 also helps better manage security and compliance, from providing support for building greater security into mobile solutions to helping to track and report on mobile workloads
Improve business efficiency
  • IMS V15 delivers dynamic configuration of Java environment variables and options, providing better security, flexibility and control.
  • Developers can also gain insights from new support for tracking of JVM usage statistics, including elapsed run time, heap memory used, number of threads processed and more.
  • In IMS V15, the IMS logger leverages DFSMS Media Manager, which enables the use of hardware features that maximize performance. New efficiencies in External Subsystem Attach Facility connection thread management help reduce overhead on IMS connections to the external subsystem. IMS V15 also offers broader support for dynamic change and increased potential for growth with scalability and high-availability improvements.
Simplify system administration
  • IBM is transforming IMS to help you simplify system management.
  • New capabilities reduce reliance on the IMS system definition process, simplify dynamic resource definition and help you keep IMS trouble free 
New releases from CICS and IMS continue to grow and change the capability of the products. The new releases work to meet the needs of clients to better run their businesses and to keep up with technology developments. The products and the clients that use them are on a long and productive journey.

Middleware Categories

Here is the complete list of middleware categories that I came up with from my research, as well as the examples that I have discussed so far and in this space.
1. Database: Db2 
2. Application server: WebSphere® Application Server Db2 
3. Message: IBM MQ 
4. Web: IBM HTTP server 
5. Transaction Processing Monitors: CICS and IMS 
6. Remote Procedure Call: featured in an upcoming article 
7. API: featured in an upcoming article 
8. Integration: featured in an upcoming article 
9. Portals: featured in an upcoming article 

Next Post

Next week, I’ll continue with the middleware topic as I have a few product implementations to explore.
IBM Systems Webinar Icon

View upcoming and on-demand (IBM Z, IBM i, AIX, Power Systems) webinars.
Register now →