The Evolution of CICS: The CICS/IMS Saga Begins (1971)

On December 30, 1971 IBM announced new capabilities for CICS/OS Standard V2. With a planned ship date of July 12, 1972, CICS would begin to support access to DL/I (IMS) data bases.

Depending on who you talked with, you may have gotten a different answer, but let's begin with a restatement of IBM's DB/DC Strategy statement of 1971. CICS, IMS and GIS were selected as the primary program products which would provide data base/data communications for customers.

GIS was way ahead of its time and because of limited machine resources, the product was never accepted by customers and hence died an early death. IMS began its support on the full operating system (MVT, MVS, MFT, etc) and continues to this day to function only in that large systems environment.

CICS began its existence on the full operating system (MVT, MFT and PCP) but in 1971 it was then offered on a Disk Operating System (DOS) base with two versions of the product, CICS/DOS Standard and CICS/DOS Entry. In later years, CICS would be offered on the AS/400, UNIX machines such as AIX and the RS/6000, personal computer operating systems such as OS/2 and Windows, and non-IBM platforms such as HP, DEC and others.

With the early DB/DC systems (1969-1970), some customers (and IBMers) were unsure as to whether to begin using IMS or CICS, because both supported the full operating systems environment. A key decision point for many customers was their inability or unwillingness to commit to a data base (only) environment, which was implied by IMS' support of only DL/I (Data Language/I), and not other popular forms of data management (at the time), such as ISAM and/or BDAM.

With some customers leaning towards CICS, because they had existing data (legacy data, if you will) stored as ISAM and/or BDAM files (or a combination of the two, typically referred to as DISAM, for direct index sequential), those customers asked whether IBM had plans to make DL/I also available without IMS's data communication (IMS/DC) facilities.

IBM decided to use the IMS Data Base product (IMS DB) as the basis for enabling CICS application access to DL/I. IMS DB, by itself, was clearly a batch oriented product and permitted only one user at a time. So, whereas CICS applications could now gain access to DL/I, it was in a single threaded manner, and a very poor performer.

Closely related to this evolution of software, one has to look aside and observe what was happening from a software marketing point of view. There were those that felt, IBM marketing representatives should be selling IMS DB/DC to customers on MVT, and sell CICS to small and intermediate customers. This marketing strategy was apparent in both North America and in Europe. IBM's problem was that customers weren't cooperative, and even if a customer was on MVT, they may have wanted CICS and not IMS, and they also wanted a DL/I capability.

IMS continued to evolve in the early 1970s. A function known as program isolation (PI) came into being which offered data base integrity for concurrent users of the same data base. CICS users wanted not only to have access to DL/I data but also benefit by technology enhancements such as PI. CICS customers began to buy IMS (DB), in spite of its poor performance characteristics, assuming IBM would respond to their requirements for better multithreaded performance and use of new function such as PI.

Without benefit of help from IMS Development, CICS devised a way to get multi-threaded use of DL/I, and delivered this capability in 1975. Whereas, this new capability addressed the primary concern for performance, customers were observing other enhancements to DL/I which were being offered only to users of full IMS DB/DC. More was needed to satisfy the CICS customer, with standard access method data, as well as their use of DL/I.

In 1974, I developed a working prototype which allowed a single CICS region to appear to full IMS (IMS DB and DC) as multiple Batch Message Processing Programs (BMP). By this method, CICS gained multi-threaded use of DL/I, and CICS applications would gain use of other data base related facilities offered by full IMS.

I presented this prototype to the CICS and IMS Development divisions. I attempted to get support for the prototype code being shipped as a Field Developed Program (FDP) or other software offering. I presented the merits of this proposal to IBM management in the U.S., Europe and in Asia Pacific.

The opposition, bureaucracy and confusion was unbelievable. IBM executives thought the decision had been made to sell only IMS to large system customers, therefore if DL/I was wanted, the customer was expected to buy, install and use the full IMS DB/DC product. No one apparently asked the customer.

Those opposed to CICS having access to DL/I argued that CICS could never achieve performance comparable to IMS DB/DC. A popular measurement scheme in the early 1980s was something called the Data Systems Workload (DSW), used primarly to compare DL/I workloads on one release of IMS and the operating system, with another release. I rewrote the DSW for CICS in 1983 and demonstrated that CICS applications, whether written in Assembler, COBOL or PL/I could deliver identical (!) data base performance to that of full IMS DB/DC. This still did not alter IBM's development and delivery of data base software.

Much of the activity which attempted to compare and list the merits of CICS and IMS (or IMS and CICS) were, in all honesty, biased. This may have been because of the "first love syndrome" (what you learn first, is best), or because of vested interests in one thing or another. IMS could be described as "defensive", unwilling to cater to the CICS user's interest in using DL/I.

It was not until 1989, that IMS Development announced and delivered the Data Base Control offering (DBCTL), which replaced what had existed as "Local DL/I" within CICS and put all data base function in the IMS product, without the need for IMS DC. Patience rewarded.

During the saga years, IMS advocates would argue that IMS was more widely accepted and had better performance on large systems, than CICS. This was never true. CICS outsold IMS on every platform, from the smallest mainframe (which IMS did not support) to the largest mainframe that IBM produced. CICS has accounted for more use of DL/I than has IMS DB/DC. And with the data base evolution to DB2, CICS has accounted for more use of DB2 than has IMS. So there.

Copyright © 2003 - Yelavich Consulting, Sparks, NV
Click here for other articles regarding the evolution of CICS.