You are currently on IBM Systems Media’s archival website. Click here to view our new website.

Bookmark and Share

Recent Posts

CICS and IMS Are Great Early Middeware Models

November 6, 2013

 Editor’s note: This is the second in a series on middleware.

In my last blog post on middleware, I wrote that the Job Entry Subsystem (JES) was an early middleware engine whose productivity shell was Job Control Language (JCL).  As you know, this is the realm of the batch world. What about the transaction-processing environment—where are the early middleware examples?

CICS and IMS are great early middleware models.  These systems contain the foundation for all the elements that came later to support client-serving computing.

CICS has support for program linking and transfer of control. Data can be passed between programs in these interactions.  This is important as companies had teams of people working on different modules in the same application system. Dividing the work into modules and then logically combining them at runtime was both necessary and useful. Did you observe this as well--large teams and many modules?

This CICS sample application provides online inquiry and maintenance facilities for a sample customer credit file in a department store. The application uses VSAM files and 3270 display and printer terminals. It is simple but useful.

IMS has similar program-to-program support and conventions like a special scratch pad area segment and the input/output message to keep context with the individual at the computer terminal.

This IMS sample program, written in COBOL, accepts an input message from an ISC session with CICS and returns the same message to CICS. It is a straightforward way to demonstrate intersystem communication.

Program modularity was just the basics. There was also support for files and database systems, presentation services for display devices, and programmatic queues for use inside and outside the application system.  These are just a few examples. 

What others would you suggest to help round out my description? Reply in Comments.

 These foundational services became the basis for client-server middleware like remote procedure calls and many other client-server functions. I will write more on the client-server extensions to these enterprise models in my next post.

Posted November 6, 2013| Permalink