Understanding Mainframe transaction processing – CICS (for non-mainframe personnel)
CICS is IBM’s online transaction processing facility – and WebSphere can be considered as an equivalent. The words transaction and task are used to describe units of work within CICS. Within a particular system, a series of transactions can be well defined and understood so that it becomes possible to talk about relative performance in terms of transactions per second (or minute, or hour).
There are three modes of CICS operation:
1. Non-conversational mode – It is of the nature of one question, one answer; resources are allocated, used, and released immediately on completion of the task. In this mode the words transaction and task are more or less synonymous.
2. Conversational mode – Multiple questions (key strokes by user) and answers (response from the system) during which resources are not released. Resources are, therefore, tied up unnecessarily waiting for users to respond, and performance may suffer accordingly. Transaction and task are, once again, more or less synonymous.
3. Pseudo-conversational mode (most widely used) – Allowing for the slow response (think time as well as data entry time) for the user, transactions are broken into more than one task (without the user perceiving it – programming is done in such a way that for the user there are series of actions taken before the transaction gets completed). The key advantage is that the resources in demand are released at the end of each task giving the potential for improved performance (and large number of concurrent users). In this mode, the input/output surrounding a single task is known as a dialog.
In CICS context, the word “user” means the terminal operator and CICS performance (as perceived by the user) is the response time – which is the time between the last input action and the expected response. Several such responses could be required before the user completes a function.
A CICS region can support external requests (from clients, including internet or another CICS region) which comes to it over a network using a wide variety of transport protocols. CICS supports distributed computing and the client/server model by means of:
- Internet Inter-Orb Protocol (IIOP)
- Distributed Computing Environment (DCE)
- Distributed Program Link (DPL)
- External CICS Interface (EXCI)
- External Call Interface (ECI)
- Function shipping
- Asynchronous Transaction Processing
- Distributed Transaction Processing and
- Transaction Routing.
Typically, CICS provides a transport-specific listener (a long-running task) that starts another task (a facilitator such as an alias or a mirror), to process the incoming request. The facilitator uses CICS services to access the application.