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.
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
- To learn about language‑specific programming interfaces, including COBOL, PL/I, C/C++, and Java APIs, see Programming languages and the CICS API.
- For video tutorials on writing, building, debugging, and testing CICS applications, see CICS Academy Developing your CICS applications (Part 1) - write, build, debug, and test your application and CICS Academy Developing your CICS applications (Part 2) - running in a production environment.
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.