Introduction


Why CICS?


In a traditional batch processing system, multiple processes or tasks that rely on the same resources (such as files or database tables) cannot run simultaneously. For example, if Job1 and Job2 are submitted at the same time and both need access to the same file, Job1, which has exclusive control of the resource, will start executing first. As a result, Job2 must wait until Job1 completes its execution before it can access the required resource.

The primary disadvantage of batch processing is that jobs do not run in parallel, leading to delays in obtaining results. To address these limitations, IBM introduced the Customer Information Control System (CICS) in the late 1960s, which provided an online processing system for instant results.

What is CICS?


CICS stands for "Customer Information Control System". It is an Online Transaction Processing (OLTP) system and application server that provides online transaction management and connectivity for applications running on mainframes under z/OS. CICS is often referred to as an online system for mainframes.

CICS offers services that allow different transactions (tasks) to run simultaneously, producing instant results. A CICS transaction is a command or unit of work that initiates one or more application programs to perform a specific task. These transactions may access the same file or table simultaniously and involve multiple programs based on various user requests.

A CICS application consists of a collection of related programs that work together to carry out a business operation. CICS applications are typically executed by submitting a transaction request. Processing within CICS is mainly interactive using screens, though background transaction execution can also occur in some cases.

CICS supports high-speed, high-volume online transaction processing. It effectively manages resource sharing, maintains data integrity, and prioritizes execution to ensure faster response times.

History -


CICS (Customer Information Control System) was initially developed in 1966 at an IBM Development Center in Des Plaines, Illinois. The first CICS product was announced in 1968 and was named Public Utility Customer Information Control System (PU-CICS).

Over the years, CICS has undergone many developments, with versions referred to as "CICS TS v."

  • CICS TS v2.1 through v2.3 focused on introducing CORBA (Common Object Request Broker Architecture) and EJB (Enterprise JavaBeans) technologies to the CICS platform.
  • CICS TS v3.1 was released with a native implementation of SOAP (Simple Object Access Protocol) and WSDL (Web Services Description Language) technologies.
  • CICS TS v4.1 and v4.2 included enhancements to web connectivity, incorporating a native implementation of the Atom publishing protocol.
  • CICS TS v4.2 also introduced support for JSON (JavaScript Object Notation) and was integrated into CICS TS v5.2.
  • CICS TS v5.5 brought support for IBM SDK for Node.js, offering a full JavaScript runtime, server-side APIs, and libraries designed for IBM Z.
  • CICS TS v5.6 introduced enhanced support for Java to deliver a cloud-native experience for Java developers.
  • CICS TS v6.1 (current version) introduced various technical and operational capabilities, including improvements that provide performance benefits over previous CICS releases.

Advantages -


  • High Performance: Processes thousands of transactions per second, ensuring fast response times.
  • Reliability: Maintains data consistency and integrity under heavy loads.
  • Concurrency: Supports multiple simultaneous users efficiently.
  • Flexibility: Compatible with various programming languages and technologies like COBOL, PL/I, Java and C++.
  • Security: Provides strong security features like authentication and encryption.
  • Cost-Effectiveness: Centralized processing reduces operational costs over time.
  • Integration: Easily integrates with legacy systems and modern technologies like DB2 and IMS.
  • 24/7 Availability: Designed for continuous operation with minimal downtime.

Disadvantages -


  • High Initial Cost: Expensive licensing and infrastructure investment.
  • Dependency on Mainframes: Limited flexibility due to reliance on IBM mainframes.
  • Limited Portability: Applications are not easily moved to non-mainframe systems.
  • Competition from Modern Systems: Cloud-based systems can offer greater flexibility.