zVWS Additional Features
zVWS - Additional features and CGI programming elements
zVWS provides a number of other configuration and CGI programming features.
-
LOG cgi command:
CGIs can now generate records that will be sent to and maintained by the zVWS logging facility. This allows installations to enhance information kept about their CGI usage and make it available via either the supplied logging tools or "home growns" logging tools. -
CGI Redirect Support:
From a CGI, you can redirect users to allow for either security or load balancing, or even special purpose functions for specific users. -
CGI PIPE Support:
For performance, it turns out that using PIPE stage to output data is significantly faster than using STEM rexx variables. The 'output' PIPE stage reduces by 2 or more the CPU and time to output data files to the browser. It also allows for very fast conversion from WEBSHARE or other web server CGIs. -
Full POST Support:
For products such as VM Resources COOLMAIL to work, the ability for the server to accept data and files from the browser is now available. -
System Variables:
Many system variables are available for CGIs to use to determine environment. Issuing the SYSVARS rexx command sets all of the variables. A sample CGI (LISTVARS.CGI) variables is proided to show the current available variables. Let us know if you need additional variables. -
Cookie Support:
Cookies are available to CGI to
maintain user states.
For an example of a cookie SET, click 'SET Cookies'.
For an example of Getting all available cookies, click 'GET Cookies'.
To display the code, click in: 'Display CGI'. -
CGI_ENVIRON support
The CGI_ENVIRON directive changes the default SUBCOM environment for CGI execution. The default is CGI. By specifing CGI_ENVIRON CMS, for instance, the CGI can be invoked in the CMS SUBCOM environment. -
NO-CACHE support
A keyword has been added to the syntax of the mimetype definiton in the ZVWS MIMETYPE and USER MIMETYPE files. The NO-CACHE keyword will cause a
CACHE-CONTROL: NO-CACHE
response header to be generated in response to the request. NO-CACHE is automatically generated for output produced by CGIs. -
Extended log records
The Reason Code is available in the log records. It is used to identify the specific reason for a particular STATUS code, such as 403, 404, 500 (Access Forbidden, Not Found, Server Error, respectively). Other "architectural" changes were made to the log record in anticipation of future enhancemenst. The LOGCERN pipe stage and the SHOWLOG XEDIT macro have been upgraded to recognize the new format and show the relative information. -
Extended logging
When using LOGGING VERBOSE or LOGGING DETAIL options, a log message is generated whenever a "reason code" is present. This message is a separate line following the VSILOG0100I message. It is displayed only when there is a reason code. The code is primarily for diagnostics. -
Extended statpage support
STATPAGEs allow installations to customize the results of a "abnormal" status to a request, such as in the case of a 404 status. This support was introduced in a previous release. It has been extended to allow for STATPAGEs to be defined on a sub-directory level within an ESAWEB AUTHLIST. -
Common Log Format
The LOGCERN pipe stage has been updated to allow for a simple method to create "Common Log Format" and "Extended Common Log Format" records from the log records created by the ZWEBLOG virtual machine. -
End user control of log record
formatting
LOGFMT and DATEFMT keywords of LOGCERN pipe stage dictate the output of log records -
"Auto-ASCII" support for AUTHLIST
and ALIAS files
The ZVWS AUTHLIST and ZVWS ALIAS files can be saved either as ASCII or EBCDIC files. Installations using web publishing tools won't have to be concerned with the way these files are saved. -
RESOLVE_URL and CGI_EXIT directives
moved to host definition files
The global directives have been moved to enable installations to customize by domain rather than by system. -
AUTO_TRANSLATE directive
gives greater flexibility to installations using web
publishing tools.
Files NOT stored as "binary" on the web server can be automatically translated, if desired. This directive gives complete control of translation to installations on a domain-by-domain basis. -
Added support for installation
defined "Error Status Pages".
Installation may define and tailor web pages to be served in response to certain error status codes such as 404, 403, and 500. This is a much more "end-user" friendly presentation. -
Dynamically accessed ROOT and PATH
minidisks.
Installastions may, optionally, use dynamic access and re-access of the path structure contained on minidisks. This allows for changes/additions on minidisk areas to be reflected immediately instead of waiting for "auto-refresh". -
Connect to TCP/IP on a specific IP
address.
Installastion may, optionally, instruct zVWS to connect to TCP/IP on a specific IP address as well as a specific port. This allows installations to define different web servers to listen on the same port but different IP addresses while running on a single image of VM. -
Extended security options in
ESAWEB AUTHLIST file
-
COOKIE - allows the security exit to verify the contents
of a cookie instead of, or in addition to, a userid/password
combination
-
OPTIONS - controls AUTHLIST inheritance, use of ESM exit,
and/or password requirments.
-
ORDER - controls the order in which zVWS
will invoke the various forms of userid/password verification
-
ESM_EXIT - defines an ESM (External Security
Manager) exit to be invoked for the specific path.
-
CGI Pre/Post process exit
The Pre and Post process exit for CGI execution allows installations to ensure the integrity of the server environment remains intact after CGI execution. -
Support for multiple files in a
form
Forms can have multiple TYPE=FILE input tags. CGIs can then gain access to the files via the NEXTFILE sub-command. -
PATH override using SFS directory
Installations can map any SFS filespace as a sub-directory of the "root" using the PATH configuration directive.
-
HOST name validation
Under installation control, using the VALID_HOST configuration directive, zVWS will generate a request status code of 400 if the HOST request header does not contain a defined host name. -
Console logging of
inbound/outbound HTTP headers
LOGGING of HTTP details to virtual console for diagnostics. -
HEADER Digestion
Optionally recognizes extended (X-ESAWEB) headers in HTML (optionally all files) to augment HTTP control response header entries. -
INCLUDEd AUTHLIST support
ZVWS AUTHLIST files can include common files to allow similar AUTHLIST definitions to be contained in a single file. -
USER MIMETYPE files
USER MIMETYPE files are used to override the ZVWS MIMETYPE file definitions so product upgrades don't destroy installation mimetypes. -
Termination Immediate Commands
QUIT, STOP, END immediate commands to gracefully terminate zVWS web server. -
Logical Device HTML support
This feature allows installations to "webify" 3270 applications, using an interface to the ZVWS 3270 logical device support virtual machine. -
SMSG interface to administration
machine
This feature allows installations to control the zVWS servers, through the administration machine, via the CP SMSG command. -
Userroot (Tilde hack)
support
This feature allows access to individual user's html without having to predefine path access to the area. This feature does NOT include CGI execution support for a "tilde" path. -
SSI (Server Side Includes)
support
This feature allows dynamic inclusion of data into an HTML file. This allows installations to allow non-HTML authors to input data into a web page without having to have knowledge of HTML coding techniques. -
Auto-index support
Displays a columnar list of "servable" files when no "default" html file is found in a path -
ALIASing support
This feature allows an installation to map long and/or illegal path and file ids to valid VM paths and file ids. -
Meta-Variables
CGIs have access to the SCRIPT_NAME, PATH_INFO and PATH_TRANSLATED meta-variables. -
Enhanced GET_ARGS CGI command
The GET_ARGS CGI command provides the ability for a CGI to retrieve all keyword/value pairs in REXX stems even if only a single occurrence is encountered in the form or query string. -
Password prompting control
A site can control the number of times a requestor will be allowed to enter invalid passwords. In addition, zVWS can also control the amount of time that can expire before a known requestor will be re-challenged. -
More powerful ADMIN functions
The functions granted to the ZVWS administration virtual machine (ZADMIN). The admin machine can perform the following functions:
1. Graceful shutdown of one or more servers with a single CGI command
2. Start (XAUTOLOG) one or more servers with a single CGI command
3. Retrieve the path structure for a host to be reviewed and, through simple
CGIs, massage authorization lists for each.
4. View and reset zVWS password violations excisions
Many of these functions are also available via the zPORTAL web interface. -
Enhanced ADMINISTRATION support
The "canned" utilities supplied with zVWS for the sake of administration and log data view have been beefed up to meet the ever growing needs of our customers, not to mention to take advantage of new CGI commands.
zPORTAL provides the ability to review zVWS log data in various forms -
Logging:
Logging is performed VERY FAST using IUCV function to transmit data to a central server that formats and writes the data to disk. This architecture was chosen to reduce any potential for logging to slow your web server. CERN format logging is available as well as an enhanced version.
Byte counts for each file are recorded in the log to ensure you can analyze your data traffic requirements. -
Command Interface:
An administration server virtual machine is provided that controls many of the web server functions - using a web page and cgi designed for this purpose. To use this function requires adding a server to a different port and adding the administrator's identifiers to the authorization list. Refreshing, recycling as well as CP and CMS commands can be performed by the web servers using this interface. A STATUS function is also provided to review status of all of your active servers. -
Full HTML, Image, EBCDIC, ASCII
Support:
Any files you
serve from another platform, you can serve from zVWS on VM.
ASCII to EBCDIC and ASCII to conversion tools are provided so
that you may develop your web site using tools on PC, move the
files to VM, convert them to EBCDIC, and edit them using XEDIT.
EBCDIC files are translated to ASCII automatically when
requested by the user.
-
Full Instrumentation:
Nobody would expect the experts in VM Performance to provide a
web server without full instrumentation. zMAP provides reports
based on zVWS application data.
Logging to the console is also provided.
-
SFS and Minidisk:
Both the SFS file structure and
minidisks are supported. One should note that using Minidisk is
measurably faster, so depending on how fast you want your web
site to be may dictate your storage architecture. Full SFS
directory support is provided, meaning that directories do not
need to be predefined.
-
Redirection/Load Balancing:
zVWS allows requests to be redirected
based on IP address or by userid. This would allow you to
load balance over several
systems by having one group of users go to one system, and
another group go to another. Or even provide a different main
screen depending on who they are.
-
Content-Length:
Many
applications need files to have the CONTENT-LENGTH served in the
header. zVWS provides this for all files. Larger files are
pre-read to get the content length, and then the length is
cached for future use.
-
Service Level Agreements:
In combination with our zTCP and zMAP/zMON performance
products, you will have the ability to measure service levels by
IP subnet, giving you the ability to know how your web server is
performing for your users against service level targets. Real
time alerts can be set so that you are aware of when targets are
missed.
-
Internal Trace table
An internal trace table has been added to help diagnose product abends.
-
Other Features:
zVWS supports GET, POST and HEAD requests.