The Evolution of CICS: Five Important Concepts (1968-2003)

Someone asked me to comment on what I thought might be the five most important concepts embodied in the CICS product. The following is my answer to that person. If you have comment or question about this text send me a note.

  1. CICS is an "application server". That is, it provides services for the given environment such that the user (application programmer) does not have to code those functions. The user issues a command to read a file or read from a terminal, and CICS provides the code that performs that function.

  2. The basic architecture of CICS has enabled it to evolve over a period of 35 years (as of 2003), changing its internals to support new technology, without impacting applications the user has already implemented. This concept is called object level compatibility. The user does not have to recompile or re-prepare his applications already written in order to run in new and enhanced environments. CICS changes, the user's applications need not. Many users today have literally thousands of application programs written and they are able to move to new releases of the operating system or CICS without change to their existing code.

  3. CICS enables the user to write applications in a variety of languages (COBOL, PL/I, Assembler, REXX, RPG,etc) in a platform independent manner. The use of CICS commands is the same on MVS, VSE, UNIX, iSeries (AS/400), etc. CICS skills are highly transferrable to different machine and operating systems environments.

  4. CICS applications can be implemented in a two or three tiered manner, separating presentation, business and data logic. All of the function needed by an application need not reside in a single environment. The presentation component could be located on a desktop computer, presenting and/or accepting data from the user, and this could in turn initiate a business process perhaps physically located elsewhere (another computer). That business logic, can in turn, access business data in one or more other computer environments. Much of this interoperability is transparent to the application programmer. The program asks to read some business data, and CICS can be set up to route such requests to the data owning node, transparent to the application making the request.

  5. CICS provides internal function to use the given physical environment in a more efficient manner than the services of that environment can provide. For instance, on MVS or VSE, CICS provides its own logic to carry out task, program and storage management with considerably more capability than the host operating system. This enables the user of CICS to achieve very high performance, with regard to transaction processing (units of work per second, per hour, etc), and also to more efficiently use the resources of the physical environment (storage, cycles, etc).

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