Module 14: CICS Performance, Security and Advanced Topics
CICS Modernization
CICS modernization means connecting trusted CICS applications to new technology without rewriting them. Small changes can expose decades of business logic as modern APIs.
Channels and containers
- Channels and containers replace the COMMAREA for passing data between programs.
- A COMMAREA is limited to 32 KB. Containers can hold megabytes of data.
- A channel holds many named containers, so programs can pass several separate data areas at once.
- New programs should use channels. Convert COMMAREA programs when you touch them for other changes.
Ways to modernize
- Expose COBOL logic as JSON or SOAP web services with the CICS web services support.
- Use z/OS Connect to create REST APIs from existing COBOL programs with no program changes.
- Run Java in CICS with a Liberty JVM server for new components that live next to COBOL.
- Manage many regions with CICSPlex SM and develop with the CICS Explorer instead of green screens.
- Use CICS event processing to emit business events to analytics systems without changing program logic.
Example: passing data with a channel
- PUT the data into a named container, then LINK to the program with the channel.
- WORKING-STORAGE SECTION. 01 WS-ORDER-REC PIC X(200). 01 WS-RESPONSE PIC S9(8) COMP. PROCEDURE DIVISION. EXEC CICS PUT CONTAINER('ORDER-DATA') CHANNEL('ORDER-CHAN') FROM(WS-ORDER-REC) FLENGTH(LENGTH OF WS-ORDER-REC) END-EXEC. EXEC CICS LINK PROGRAM('ORDRPROC') CHANNEL('ORDER-CHAN') RESP(WS-RESPONSE) END-EXEC.
- The called program reads the container with EXEC CICS GET CONTAINER using the same channel and container names.
- Containers disappear when the task ends unless you make them persistent, so pass only what the next program needs.
