Module 14: CICS Performance, Security and Advanced Topics
CICS TCP/IP
CICS talks TCP/IP directly through TCPIPSERVICE definitions. This is how CICS serves HTTP requests, connects regions with IPIC, and reaches the internet without extra middleware.
TCPIPSERVICE
- A TCPIPSERVICE opens a port and listens for incoming TCP/IP connections.
- PROTOCOL(HTTP) serves web requests. PROTOCOL(IPIC) connects CICS regions over TCP/IP. PROTOCOL(ECI) serves external call interface clients.
- Each TCPIPSERVICE needs a unique port number on the LPAR. Check with the network team before picking one.
- Use STATUS(OPEN) to start listening and STATUS(CLOSED) to stop. SSL(YES) encrypts the traffic.
CICS as an HTTP server and client
- As a server, CICS maps URLs to programs with URIMAP definitions. A browser or app calls the URL and CICS runs the program.
- As a client, a COBOL program uses EXEC CICS WEB OPEN, WEB SEND, and WEB RECEIVE to call HTTP servers.
- Keep HTTP programs stateless and fast. A slow HTTP program holds a TCP connection open.
Example: defining an HTTP listener
- Define a TCPIPSERVICE that listens for HTTP on port 8080.
- CEDA DEFINE TCPIPSERVICE(HTTPLSN) GROUP(TCPIPGRP) PROTOCOL(HTTP) PORTNUMBER(8080) STATUS(OPEN) AUTHENTICATE(NO)
- After installing, CICS listens on port 8080. Add URIMAP definitions to route URLs to your programs.
- Set AUTHENTICATE(BASIC) or use SSL when the service is exposed beyond the internal network.
