CICS® Web
support includes some base components that are used for all CICS Web support
tasks, and some task-specific components which you select and configure for
individual CICS Web
support tasks.
Base components
- TCP/IP support in CICS is provided by the CICS SO (sockets) domain, with network
services (z/OS® Communications
Server and access to a DNS server) supplied by z/OS.
- z/OS UNIX Systems
Services are used as part of TCP/IP support, and the CICS region needs
to access these.
- Secure Sockets Layer (SSL) support is used to provide security
for the CICS Web
support implementation. CICS supports the Secure Sockets Layer (SSL) 3.0 protocol,
and the Transport Layer Security (TLS) 1.0 protocol. (SSL 2.0 is not supported).
Note that where the term SSL is used in CICS documentation, it normally refers
to both SSL and TLS. "Support
for security protocols" in the CICS RACF® Security Guide has more
information about SSL and TLS.
- Temporary storage queues are used to store request lines, status
lines and HTTP headers.
- DOCCODEPAGE system initialization parameter specifies the default
host code page that is used by CICS document template support.
- LOCALCCSID system initialization parameter specifies the coded
character set identifier for the local CICS region (which is the code page that CICS considers
as the default for application programs).
- TCPIP system initialization parameter activates CICS TCP/IP services
at startup.
- WEBDELAY system initialization parameter defines a timeout period
for inactive CICS Web
tasks, only where the Web 3270 bridge facility is involved. Timeout for other CICS Web
tasks is handled by the RTIMOUT value for the relevant transaction, or (for CICS as
an HTTP server) by the SOCKETCLOSE attribute on the TCPIPSERVICE definition.
- The Sockets listener task (CSOL) detects inbound TCP/IP connection
requests, and invokes CICS Web support by attaching the Web attach task.
- Web attach tasks (CWXN, CWXU or an alias) receive data from the
Web client and deal with initial processing of requests, including URIMAP
matching, code page conversion of the HTTP headers, analysis of the request,
and code page conversion of the message body. The tasks also pre-process chunked
and pipelined messages received from a Web client. If a static response is
delivered (using a URIMAP definition), the Web attach task handles this processing
as well.
Resource definitions
- TCPIPSERVICE resource definitions are used to define each port
that you use for CICS as an HTTP server, including security options for
connections on that port, and timeout and maximum size limits for inbound
requests. They are not used for CICS as an HTTP client.
Note: The TCPIPSERVICE
resource definitions are for use only with the CICS-provided TCP/IP services,
and have nothing to do with the z/OS Communications Server IP CICS Sockets
interface. The TCP/IP Socket Interface for CICS is supplied with z/OS Communications
Server, which is an integral part of z/OS and does not use the CICS SO domain.
- URIMAP resource definitions match the URLs of requests from Web
clients, or requests to an HTTP server, and provide CICS with information on how to process
the requests. URIMAP definitions incorporate, and can replace, the CICS Web support
processing functions that were provided before CICS Transaction Server for z/OS, Version 3 Release 1 by
the analyzer program associated with the TCPIPSERVICE definition. URIMAP definitions
can also be used to deliver a static response to a request from a Web client,
without involving an application program.
- TRANSACTION resource definitions are used to define alias transactions
for HTTP request processing. CICS supplies a resource definition for a default alias
transaction, CWBA. When the Web attach task has completed initial processing
for the request, if an application-generated response is to be produced, an
alias transaction handles the remaining stages of processing. These include
receiving the request, executing the application's business logic, construction
of the HTTP response and code page conversion of the HTTP response.
User application programs
- Web-aware application programs can be designed for CICS Web
support, using the EXEC CICS WEB and EXEC CICS DOCUMENT application programming interfaces.
For CICS as
an HTTP server, these programs can receive and analyze HTTP requests and provide
application-generated responses to the Web client. For CICS as an HTTP client, a user application
program in CICS can
initiate an HTTP request to a server, and receive a response from it.
- COMMAREA applications, programs which are designed to
be linked to from another program using a COMMAREA interface, can be accessed
using CICS Web
support with a converter program to convert their output into HTML for transmission
to a Web client. Alternatively, you can write a Web-aware application program
that links to a COMMAREA application and uses its output to provide HTTP responses.
- 3270 display applications, programs
which are designed to communicate with 3270 terminals, can be accessed using
the Web Terminal Translation Application. The HTML output created by the Web
Terminal Translation Application can be displayed in a Web browser.
Programming interfaces
- The EXEC CICS WEB application
programming interface interprets and constructs HTTP requests and HTTP responses.
Some commands are used for CICS as an HTTP server, some for CICS as an HTTP client, and some are for
both forms of CICS Web
support.
- The EXEC CICS DOCUMENT application
programming interface constructs CICS documents to provide the body of a
response or request that is sent out from CICS.
CICS Web
support utility programs
- Analyzer programs are associated
with TCPIPSERVICE definitions. They are used to interpret an HTTP request
if a URIMAP definition specifies the use of an analyzer program, or if no
URIMAP definition is present. CICS supplies a default analyzer program
DFHWBAAX, which provides basic error handling, and a sample analyzer program
DFHWBADX, which supports requests using the URL format that CICS Web support
used before CICS TS
3.1. Either of these analyzers can be used as a basis for your own analyzer
program.
- Converter programs can
be used to decode an HTTP request and construct input to a user application
program. Web-aware application programs do not normally require converter
programs, but they might be needed by non-Web-aware applications that were
not designed for CICS Web support. CICS does not supply a converter program.
You can write a number of converter programs and select any converter program
in your CICS region
to process a request.
- Web error programs provide
an error response to the Web client when a request error or an abend occurs
in the CICS Web
support process. CICS supplies the Web error program DFHWBEP, which is
used in most error situations, and the Web error application program DFHWBERX,
which is used with the default analyzer DFHWBAAX when URIMAP matching fails
(and can be specified for other situations). The Web error programs are user-replaceable,
and they can be modified to customize or change the error response that is
sent to the Web client in each error situation.
- The Web Terminal Translation Application DFHWBTTA (and
its aliases for alternative processing, DFHWBTTB and DFHWBTTC) can be used
to create HTML output from programs which are designed to communicate with
3270 terminals. The program uses the CICS 3270 bridge mechanism. Applications
that do, and those that do not, use BMS are both supported. No application
program changes are needed to use this feature.
- The password expiry management program DFHWBPW is used when basic authentication is
specified for the connection, and the user's password has expired. The program
takes the user through the process of setting a new password. You can customize
or replace the Web pages presented to the user by DFHWBPW.
Document construction facilities
- z/OS UNIX Systems
Services HFS files can be served as the body of a response to an HTTP
request from a Web client.
- Document template support enables message bodies to be built from fragments of
HTML which are prepared offline.
- BMS macros construct HTML document templates from BMS map sets.
Code page conversion
CICS provides facilities to convert HTTP
messages into a code page that is suitable for a user application program,
or suitable for use on the Internet. CICS handles code page conversion using z/OS conversion
services.
The code page conversion table (DFHCNV), which was required
in earlier CICS releases,
is not normally required for CICS Web support in CICS Transaction Server for z/OS, Version 3 Release 1.
The exception is if you want to use an analyzer program that you coded in
an earlier CICS release
to reference DFHCNV. In this case, you must either continue to supply the
code page conversion table, or make an update to the analyzer program. Migrating entries in the code page conversion table (DFHCNV) has more information about this.