Escolar Documentos
Profissional Documentos
Cultura Documentos
c
c c
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.
¦
x Ô
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.
x G
are used as part of TCP/IP support, and the CICS region
needs to access these.
x
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 has more information about SSL and TLS.
x ^ ^ G specifies the default host code page that
is used by CICS document template support.
x
^ G 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).
x Ô G activates CICS TCP/IP services at startup.
x ¦^ G 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.
x Ô
detects inbound TCP/IP connection requests, and
invokes CICS Web support by attaching the Web attach task.
x 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.
!
"
x Ô
!#
" 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.
$ 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.
x ! %
" 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.
x Ô!
Ô
" 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.
&
x G& 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.
x & 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.
x & 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.
x ÔÔ Ô ^¦ÔÔ (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.
x Ô "( && ^¦ 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.
^
x G
can be served as the body of a response to an HTTP
request from a Web client.
x ^
enables message bodies to be built from fragments of HTML
which are prepared offline.
x ¦%
construct HTML document templates from BMS map sets.
" &
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 2.
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.
!
"
This section describes the resources needed to configure CICS® Web support. It contains these
topics:
"
"
CICS Web support provides the following resource definition groups containing CICS resources used
by the interface:
Ô
!# "
When CICS receives an inbound TCP/IP connection request on a port, it must determine which CICS
service should be invoked. CICS uses the TCPIPSERVICE resource definition to define the
association between ports and CICS services. CICS components (such as CICS Web support and
IIOP) that use TCP/IP require TCPIPSERVICE definitions. If you install more than one
TCPIPSERVI CE in your CICS system, you must ensure that each one that is active at one time has a
unique port number.
You must define and install a TCPIPSERVICEs for each port that you use for CICS Web support:
x If you want to use more than one analyzer program, or more than one transaction definition
associated with the Web attach task, you must install more than one TCPIPSERVICE
definition. Each TCPIPSERVICE must have unique port number.
x If you use SSL for your web applications, you must use separate ports for SSL and non-SSL
requests. Each port requires its own TCPIPSERVICE definition.
Before a TCPIPSERVICE can be used, it must be opened. You can specify in the definition that the
service should be opened when it is installed, or you can set it open or closed using the CEMT
transaction or the SET TCPIPSERVICE system programming command.
CICS provides sample TCPIPSERVICE definitions for CICS Web support in group DFH$SOT:
ÔÔ
CICS Web TCPIPSERVICE with no SSL support
ÔÔ
CICS Web TCPIPSERVICE with SSL support
The following attributes of the TCPIPSERVICE resource relate to CICS Web support:
Ô Ô Ô
specifies the level of authentication required for CICS Web support.
No authentication of the client is required. This is the default.
¦
HTTP basic authentication of the client is attempted.
!Ô%¦ !
specifies a TCP/IP port which is associated with CICS Web support.
!Ô
identifies to CICS the type of service to be provided on the TCP/IP port. For CICS Web
support, specify a value of .
) Ô
specifies if, and for how long, CICS should wait before closing a socket after issuing a receive
for incoming data on it.
If you are using the TCPIPSERVICE for CICS Web Support and are processing only standard
HTTP requests, SOCKETCLOSE(0) should be specified to avoid unnecessary CWXN
transactions remaining in the system.
CICS ignores the SOCKETCLOSE attribute on the first SOCKET RECEIVE issued after a
connection is made. When a connection is accepted by the socket listener, it attaches a task
to handle the connection. The first thing this task does is to issue a SOCKET RECEIVE. This
first RECEIVE waits for data for a period of time determined by the service (30 seconds for
HTTP), whatever you have specified on SOCKETCLOSE. This prevents a socket connection
being closed as soon as it is initiated, even if no data is immediately available, and so
prevents connection reset error at the client.
CICS HTTP persistent connections support means that sockets connections with Web
browsers can be kept open after the initial HTTP request has been processed. This has a
significant effect on the amount of processing required for each HTTP request in the network,
particularly where SSL is being used. To enable CICS persistent connections support you
must specify either NO or a numeric value for the SOCKETCLOSE attribute. Note that CICS
supports only the HTTP 1.0 Keep-Alive implementation of the persistent connections, not the
HTTP 1.1 implementation.
Ô!
Ô
specifies the 4-character ID of the web attach task. For CICS Web support, specify
transaction ID CWXN, or an alias of CWXN.
Ô
*!
specifies the prefix of the temporary storage queue used to store inbound data and Web
documents created by applications.The temporary storage queue prefix must be matched by
a corresponding TSMODEL definition to meet your system and application requirements.
Most Web transactions exchange relatively small amounts of data, so a TSMODEL defining
the temporary storage queues as main temporary storage might be appropriate. For those
applications handling large amounts of data, a model specifying main temporary storage
might be unacceptable due to storage constraints.
!%
specifies the name of the analyzer program which is used for requests received on the port
defined in this TCPIPSERVICE.
Ô!
Ô "(
You may want to use other alias transaction names for various reasons:
x Auditing
x Resource and command checking
x Allocating initiation priorities
x Allocating DB2® resources
x Assigning different runaway values to different CICS application
programs
If you do want to use other alias transaction names, you must copy the
definition of CWBA, making the necessary changes. The definition of CWBA
is as follows:
^
^
^
^
^
^
^
^
^
^
^
^
^
You cannot change the program name in this definition. Only the CICS-
supplied alias program DFHWBA can be used. All the extra alias transactions
must be local transactions.
If you do not use autoinstall for programs, you must define and install
program definitions for all user-replaceable programs used by CICS Web
support, including the analyzer and converter programs.
If you use autoinstall for programs, you must ensure that user-replaceable
programs are installed with the correct attributes. Note that your analyzer
programs must be defined with EXECKEY(CICS).
All the user-replaceable programs must be local to the system in which CICS
Web support is operating.
Ô +
, The CICS Sockets domain uses the
TCPIPSERVICE resource definition for the port to determine that the request should be
processed by CICS Web support. The TCPIPSERVICE definition specifies security attributes
to be applied to the request, specifies the timeout setting for receiving the request message,
and limits the maximum amount of data that can be received for a single request.
2.
!+
! %" , CICS tries to
match the URL specified in the HTTP request to any URIMAP resource definitions that are
related to the TCPIPSERVICE definition and apply to CICS as an HTTP server. If a
successful match is made, the URIMAP definition tells CICS how to process the request. If no
match is found, CICS continues with the default process, which begins at processing stage 5
with the analyzer program.
3. ! %" "
"
"!, CICS composes the redirection message and transmits it to the Web
client. This completes the processing for that HTTP request.
4. ! %"
"
,CICS uses a document template or a z/OS® UNIX System Services HFS file,
together with appropriate HTTP headers, to form an HTTP response. The response
undergoes appropriate code page conversion, and CICS then transmits the response to the
Web client. This completes the processing for that HTTP request.
5. G&
! %"
&! %"
", The analyzer program can interpret the request
dynamically, or it can be used for monitoring or audit purposes.
The analyzer program for the TCPIPSERVICE definition must be used in the request
processing path if no URIMAP definition has been set up for the request. It might also be
needed if you are using a non-Web-aware application program that has special requirements,
for code page conversion or for pre-CICS TS Version 3 compatibility processing. (Analyzer
programs explains these situations.) Otherwise, the use of an analyzer program is optional,
but note that the analyzer program is called to process the request if the URIMAP definition is
not found.
If an analyzer program is being used, the HTTP request and the HTTP headers are passed to
the analyzer program. The analyzer program can interpret the request to determine:
m If the application program is Web-aware, it can examine the HTTP headers on the
request, extract information (such as a query string) from the request line, receive the
body of the request into a buffer for processing, select a status code and text for the
status line of the response, and write HTTP headers for the response. EXEC
CICS WEB API commands such as WEB SEND and WEB WRITE HTTPHEADER
are used to construct the response.
m Whether or not the application is Web-aware, it can produce output that forms the
body of the response. Web-aware application programs can produce an entity body
formed from a CICS document template or from a buffer of data. Application
programs that are not Web-aware can produce output that can be converted by a
Web-aware application program or a converter program into an entity body.
8. &
""
&
"
ÔÔ, If the application program is not Web-aware and its
output is not in the correct form to send to a Web client, you can use a converter program to
produce an appropriate HTTP response including a status line and HTTP headers. The
converter program can also perform other types of processing on the output, if desired.
The converter program can specify that processing stages 6 (decoding or other processing
using converter program), 7 (application program) and 8 (encoding or other processing using
converter program) should be repeated. Because the converter program can change the
name of the application program, you can use this facility to allow more than one application
program to work on the same request in sequence, and provide a single response.
10.
& +
"ÔÔ " " ""
&, Appropriate headers are generated depending on the HTTP version for the
response. If the response is HTTP/1.1, CICS adds headers that are required for HTTP/1.1
messages. If the response is HTTP/1.0, CICS adds the Connection: Keep-Alive header if the
client has requested a persistent connection, and a small number of other headers. The
values for some of these headers are generated directly by CICS (such as the Date header),
and the values of others are based on information provided by a Web-aware application
program (using the WEB SEND command) or by a URIMAP definition. The headers can be
added both to output from a Web-aware application, and to output from a converter program.
11.
ÔÔ, If the Web client supports
persistent connections, CICS keeps the connection open for further possible HTTP requests,
until the user application or Web client requests closure or the timeout period is reached.