CICS web support concepts and structure

CICS® web support is a collection of CICS services that enable a CICS region to act both as an HTTP server, and as an HTTP client.

CICS as an HTTP server

When CICS is an HTTP server, a web client can send an HTTP request to CICS and receive a response. The response can be a static response created by CICS from a document template or static file, or an application-generated response created dynamically by a user application program.

The actions of CICS as an HTTP server are controlled by:
  1. System initialization parameters and resource definitions, including TCPIPSERVICE definitions and URIMAP definitions, which are used to configure CICS web support and instruct CICS how to process requests and responses.
  2. CICS utility programs, which can be used to analyze and process the HTTP requests and responses.
  3. User-written application programs, which are used to receive the HTTP requests and provide material for HTTP responses. These can be web-aware application programs designed for use with CICS web support, or non-web-aware CICS application programs that were not originally designed for use with CICS web support.

The behavior of CICS web support as an HTTP server is conditionally compliant with the HTTP/1.1 specification, as described in RFC 2616. See The HTTP protocol for more information about the HTTP specifications.

CICS as an HTTP client

When CICS is an HTTP client, a user application program in CICS can initiate a request to an HTTP server, and receive a response from it.

The actions of CICS as an HTTP client are controlled by user-written application programs. The EXEC CICS WEB application programming interface includes commands that an application program can use to construct and initiate HTTP requests from CICS, and to receive responses sent by servers. URIMAP resource definitions can be used to provide information such as a URL or a client certificate label.

CICS web support and non-HTTP messages

CICS web support also supports non-HTTP requests from clients. You can use many of the components of CICS web support, including TCPIPSERVICE definitions, CICS utility programs, and user-written application programs, to provide request handling for any request format that you have defined. Non-HTTP messages that are handled by CICS web support use a special protocol (the USER protocol) on the TCPIPSERVICE resource definition, so that they are not subjected to the checks that CICS carries out for HTTP messages.

In CICS Transaction Server for z/OS®, Version 5 Release 3, this facility is primarily intended to provide support for requests from user-written clients that use nonstandard request formats. The processing that takes place for requests is defined by the user. The facility does not provide specific support for any formally defined protocols which are used for client-server communication.

The support that CICS web support provides for non-HTTP messages is not the same thing as the TCP/IP Sockets interface for CICS. The IP CICS Sockets interface supplied with z/OS Communications Server has an application programming interface which allows clients to communicate directly with CICS application programs over TCP/IP. CICS web support is not involved with this process. z/OS Communications Server IP Sockets Application Programming Interface Guide and Reference describes the CICS Sockets interface.