How it works: CICS application development

An application is a collection of related programs that together perform a business operation, such as processing a booking or preparing a company payroll. CICS® applications run under CICS control using CICS services and interfaces to access their component programs and resources. CICS hosts and manages applications that are written in different programming languages and provides functions to allow these programs to call each other and to pass data between each other.

CICS as an application server

When they write applications, developers have to solve a number of complex concerns, including security, transactionality, web-based communication, and high workloads, amongst others. It can be difficult and time-consuming to develop solutions for these concerns and it takes focus away from work on the business logic of the application.

An application server, like CICS, provides services that implement these programming concerns in a generic way. The applications can delegate concerns such as connectivity, scheduling, and security to CICS and developers can focus on the business logic of the application.

These services are made available to the program through the CICS API.

Figure 1. CICS as an application server
Diagram showing a layered architecture with Applications at the highest level, followed by CICS, then Communications alongside Data management, then the z/OS operating system, and Hardware at the lowest level.

In CICS, work is typically initiated as a transaction (identified by a four-character transaction ID). When a transaction is started, CICS creates a task to represent the execution of that transaction and manages the task’s interaction with resources and other programs. Application logic is implemented in one or more programs (for example, COBOL programs) that run under CICS control and use CICS services to access resources such as files, queues, terminals, and external systems.

A CICS program uses CICS commands to access resources that are managed by CICS or to access services that are provided by CICS. The program must be defined to the CICS system and an initial program must be connected to a transaction.

Next steps

You can also review the topics that describe how transactions, tasks, and programs interact within a CICS application, along with workflow concepts that help to structure application logic effectively. Transactions in CICS

See the CICS application development workflow to learn about the steps involved in developing and running an application in CICS.