ABIS Infor - 2011-12
CICS: from 3270 to service
The Customer Information Control System (CICS) is a transaction manager designed for rapid, high-volume online transaction processing (according to Wikipedia). Originally developed for traditional 3270 terminals, the actual versions of the CICS Transaction Server support a variety of other user interactions, ranging from mobile devices, over web browsers, to service interactions.
CICS was introduced in 1969 as a general purpose transaction manager that greatly reduces the effort to create terminal-oriented programs. It interfaces between user written application programs, all kinds of teleprocessing access methods, and database managers. CICS provides the runtime environment in which these programs execute. It plays a very important role in large application environments. Over 90 percent of Fortune 500 companies rely on CICS.
CICS is great for traditional 3270 screen based applications. It provides all services for a smooth interaction between user screen and program, relying on the Basic Mapping Support (BMS). Handling of screen buffers, function keys, terminal control characters are all supported nicely by CICS, relieving the developer from headaches for controlling the user interaction.
CICS modern fashion
But modern applications are no longer working with terminals. Mobile devices, browsers, or other application servers require a controlled interaction with the existing business functions in CICS. So since 1996, the CICS Transaction Server (CICS TS) added features to enable these new interactions:
- the External CICS Interface (EXCI) opens the way for a non-CICS client program running in MVS to call a CICS program. The calling programs uses pipes to pass Distributed Program Link requests over them.
- the Front End Programming Interface (FEPI) is used to simulate the terminals for a CICS (or IMS) program
- the External Presentation Interface (EPI) allows for screen scraping in order to convert the terminal data to a graphical interface
- the CICS Transaction Gateway (CTG) is using the External CICS Interface and the External Call Interface to pass a communication area from a client request to a CICS program
- CICS Web Support provides direct access to CICS programs from the World Wide Web environment.
And last but not least, CICS Web services support makes CICS a core of many SOA implementations. CICS can act now as a service provider and as a service requester. The CICS Web Services Assistant makes it possible to map COMMAREA structures to WSDL and binding files, or vice versa, based on the WS-I basic profile standards. Atom feeds and RESTful interfaces enable existing CICS programs and resources to participate in mashups, Web 2.0 and other situational applications.
After 40 years of history, CICS remains the right platform for reliable transaction processing in the 21st century, even if the good old 3270 terminal is almost faded out.
More info can be found on the IBM CICS family site http://www-01.ibm.com/software/htp/cics/