The histories of VSE and CICS are closely woven together. VSE without CICS is inconceivable. It’s unlikely that DOS/360 would have become the z/VSE of today without CICS. There are many users of CICS on VSE systems—perhaps millions running billions of strategic transactions every day. The main reason they do this is because they see value in the CICS/VSE combination and the benefits it brings their businesses. To understand why they think this way, let’s review the long history of the CICS-VSE “software partnership” and what CICS has become.
Continuous, Evolutionary Development
CICS began life as the Public Utility Customer Information Control System on April 29, 1968. It was one of three new Type II programs (which meant it was free), and its siblings were the Generalized Information System (GIS) and Information Management System/360 (IMS).
CICS (Customer Information Control System) became IBM’s first program product (which meant it cost money) on July 8, 1969. The first CICS contained roughly 19,000 card images distributed on tape and cost $600 per month.
VSE was born when DOS/360 became available for S/360 customers in 1965. Batch applications were dominant then and online access to the first terminals—such as teletype writers and 2260 displays—was based on country-specific solutions. CICS became available on DOS with two versions in 1970, CICS Entry and CICS Standard, and has been successful on the market with VSE for the past 35 years.
CICS: The Clients’ Server
Some people say “CICS” means Cics Is the Clients’ Server. They see the success of CICS as being based on the integration of four basic functions needed to build an integrated transaction server within one product:
- CICS is a powerful application driver that can handle several applications in one partition and convert their calls to system functions, independent of program language and function. This includes program dispatching, allocation and release of storage, and error detection and correction. (Older command-level applications haven’t been affected by changes to other VSE system components and have been object-compatible since 1977. In addition, all CICS programs under VSE are compatible to CICS Transaction Server for z/OS.)
- CICS provides data access to VSAM, DL/I and DB2 (initially to Data Access Manager [DAM] and Indexed Sequential Access Method [ISAM]). It has functions for enabling data integrity (based on logical unit of work) and data recovery (back-out and forward recovery).
- CICS serves communication devices based on VTAM and TCP/IP (initially on BTAM), including communication integrity (LU 6.2) and recovery of communication errors.
- To successfully drive applications, development has continuously adapted CICS’ infrastructure to interface with key system components. These key components include online resource definition and changes, including auto-install for terminals and programs; monitoring and statistics information, including overall system and individual resource figures; and comprehensive debugging tools on the system level (trace and dump functions), programming level (such as CICS command debugging), and source statement level (through LE debugging).
I’ve been involved with CICS and supporting VSE customers for more than 30 years, and I’ve had many first-hand experiences with how CICS-VSE has provided value and benefits. Here are three examples based on major changes made to CICS for VSE over the years:
- Object compatibility was announced in 1977. A customer asked me back then, “Hans, do you believe this will help me protect my investment in applications?” My spontaneous answer was, “Yes, I think so.” Last year, I saw a small vendor product running at that same customer. The program was compiled in 1982, which shows just how true my answer in 1977 was.
- In the early ’90s, storage constraint was a major problem for CICS customers. One customer told me: “Thanks for all the help you gave us, but we plan on migrating to another platform.” Ten years later, I met this customer again during a VSE meeting. He told me: “I’m back to CICS and VSE. This platform still is the best for my company.”
- During a presentation to a small customer group early in 2000, I recognized that one of the attendees didn’t follow the second half of my pitch. Later on, I asked him what the reason was. He answered: “The information during your pitch was so good, I mentally began at once to redesign my CICS systems because of that great new online definition for VSAM files. Now I can consolidate from four to two CICS partitions! This means I have less to maintain and have a better overall picture of my system.”
CICS remains one of the best transaction servers on the market because it provides:
- Investment protection for customer applications (object compatibility for nearly 30 years for command-level programs)
- Excellent performance with sub-second response time as normal (0,0x second internal response time is a reality for many zSeries installations)
- Easy control of its infrastructure (online resource handling, statistics, monitoring, and debugging)
- Full connectivity to the open world through CICS Web support (access to CICS via Internet browser technology), CICS Transaction Gateway (access to CICS from Java applications from other platforms), XML/SOAP support in conjunction with VSE connectors, and TCP/IP socket interfaces (e.g., e-mail functions).
The current version of CICS is the CICS Transaction Server for VSE/ESA 1.1.1. Its usage is recommended for many reasons, including: nearly total relief of storage constraint problems, storage protection against unintended overwrites, and new functions for application programs and system control. Currently, our largest CICS customers under VSE (now z/VSE) run z990 and z890 systems with engines of up to 450 MIPS, more than 1,000 users and more than 1 million transactions per day, on one CICS with sub-second response time.
The CICS/VSE “software partnership” has been, and continues to be, a great success story and a source of great value for customers and users worldwide.