cics transaction server v3.1 © 2005 ibm corporation http support upgrade takahiro ishiwatari...
TRANSCRIPT
CICS Transaction Server V3.1
© 2005 IBM Corporation3
Acknowledgements
The following are trademarks of International Business Machines Corporation in the United States, other countries, or both: IBM, CICS, CICS/ESA, CICS TS, CICS Transaction Server, DB2, MQSeries, OS/390, S/390, WebSphere, z/OS, zSeries, Parallel Sysplex.
Java, and all Java-based trademarks and logos, are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.
Other company, product, and service names and logos may be trademarks or service marks of others.
CICS Transaction Server V3.1
© 2005 IBM Corporation5
Agenda
HTTP fundamentals
New features in CICS TS V3.1
• HTTP 1.1 compliance• HTTP processing in CICS
– CICS as an HTTP server
– CICS as an HTTP client
• Code conversion• Other changes
CICS Transaction Server V3.1
© 2005 IBM Corporation7
HTTP fundamentals
URI and URL
HTTP request and response
CICS Web Support processing in CICS TS V2
Information for HTTP specifications can be found at
HTTP/1.0 RFC 1945 ( http://www.w3.org/Protocols/rfc1945/rfc1945 )
HTTP/1.1 RFC 2616 (http://www.w3.org/Protocols/rfc2616/rfc2616 )
CICS Transaction Server V3.1
© 2005 IBM Corporation9
URI and URL
URL (Uniform Resource Locator)
• identifies a resource available on the internet– format specified in RFC1738 (http://www.ietf.org/rfc/rfc1738.txt)
URI (Uniform Resource Identifier)
• identifies an abstract or physical resource– format specified in RFC2396 (http://www.ietf.org/rfc/rfc2396.txt)
• URL is a subset of URI– URL is a representation of a primary access mechanism (a network location)
• another form of URI is URN (Uniform Resource Name)
URI
URL
URN
http:ftp:
news: telnet:
urn:
oasis:isbn:
CICS Transaction Server V3.1
© 2005 IBM Corporation11
URI and URL
Components of URI and URL
• scheme– such as http, https
• scheme specific part– an HTTP scheme will have
> host
> port
> path
> query-string
http : / / www.ibm.com : 80 / Scripts / Global / nph-cc ? cc=at
scheme host port path query-string
CICS Transaction Server V3.1
© 2005 IBM Corporation13
HTTP request and response
HTTP request contains• request line
– method> GET, POST, HEAD, etc.
– document path> /Scripts/Global/npb-cc?cc=at
– HTTP version number> HTTP/1.0, HTTP/1.1
• (optional) header section– HTTP headers
> Host, Content-type, etc.– ends with a blank line
• (optional) entity body– user data
> e.g. name value pairs
POST /Scripts/Global/nph-cc?cc=at HTTP/1.1
Accept: image/gif, image/jpeg, */*
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0, Windows NT 5.0)
Host: www.sample.ibm.com:80
Content-type: text/plain; charset=ISO-8859-1
Content-length: 80
(blank line)
aa=zzzzz&bb=yyyyy&cc=xxxxxx...
request line
header section
entity body
CICS Transaction Server V3.1
© 2005 IBM Corporation15
HTTP request and response
HTTP response contains
• response line– HTTP version number
> HTTP/1.0, HTTP/1.1
– status code
> 200, 404, 500, etc.
– text describing the status code
• (optional) header section– HTTP headers
> Connection, Content-type, etc
– ends with a blank line
• (optional) entity body– user data
> e.g. HTML document
HTTP/1.1 200 OK
Date: Fri, 13 Aug 2004 19:02:57 GMT
Connection: close
Content-Type: text/html; charset=ISO-8859-1
Content-length: 00003255
(blank line)
<HTML>
<HEAD>…</HEAD>
<BODY>…</BODY>
</HTML>
response line
header section
entity body
CICS Transaction Server V3.1
© 2005 IBM Corporation17
CICS Web Support processing in CICS TS V2
Inbound HTTP requests
• Can invoke COMMAREA based applications or 3270 transactions• APIs supplied for web aware programs
> EXEC CICS WEB API, EXEC CICS DOCUMENT API
• Supports HTTP/1.0> non-HTTP requests can also be processed
Socket
Listener
(CSOL)
Web Attach
transaction
( CWXN )
DFHCCNV (Header)
Analyzer
DFHCCNV (User Data)
Alias
transaction
(CWBA)
Business
Logic
Interface
(DFHWBBLI)
Converter (Decode)
Applicationor
3270 transaction via DFHWBTTA
Converter (Encode)
CICS
DFHCCNV
CICS Transaction Server V3.1
© 2005 IBM Corporation19
CICS Web Support processing in CICS TS V2…
example URL for the supplied analyzer
• for commarea applications
• for 3270 applications
HTTP requests can be processed via Web server
• Web server will invoke the Business Logic Interface (DFHWBBLI) via EXCI
http://hostname:80/CNV1/CWBA/USRPGM1
http://hostname:80/CICS/CWBA/DFHWBTTA/AMNU
Converterprogram
Aliastranid
Web Bridgeprogram
Targettranid
Converterprogram
Aliastranid
Targetprogram
CICS Transaction Server V3.1
© 2005 IBM Corporation21
CICS Web Support processing in CICS TS V2…
Outbound HTTP requests
• Linkable interface provided in CICS TS V2.2 and above– EXEC CICS LINK PROGRAM(DFHWBCLI)
– All information and data specified in COMMAREA
> Functions: Inquire proxy, Send, Receive, Converse, Close
> target URL information
> pointer to header area and body area
> response and reason codes
– Used in SOAP for CICS feature
DFHWBCLI
DFHWBCLI
LINK for Send
LINK for Receive
HTTP request
HTTP response
CICS
DFHWBCLILINK for Close
CICS Transaction Server V3.1
© 2005 IBM Corporation23
What’s new in CICS TS V3.1
HTTP/1.1 compliance
HTTP processing in CICS
• CICS as an HTTP server– URIMAP resource definition
• CICS as an HTTP client– EXEC CICS commands for outbound support
Code page conversion
Other changes
CICS Transaction Server V3.1
© 2005 IBM Corporation25
HTTP/1.1 compliance
CICS is conditionally compliant with HTTP/1.1 specification
• ‘Conditionally compliant’ means…– for the requirements that are relevant to the functions provided by CICS,
> CICS satisfies all the MUST level requirements
> but not all the SHOULD level requirements
• responsibility for compliance– User applications also share responsibility
> may fail to meet the SHOULD requirements, depending on actions performed by the application
> CICS provides facilities and documentation to help make applications compliant with HTTP/1.1
CICS Transaction Server V3.1
© 2005 IBM Corporation27
HTTP/1.1 compliance…
New features that CICS provides for HTTP/1.1 compliance
• Supported methods• HTTP date and time formats• Persistent connections• Pipelining• Chunking
CICS Transaction Server V3.1
© 2005 IBM Corporation29
Supported Methods
Methods supported
• For HTTP/1.0 in CICS– GET, HEAD, POST, PUT, DELETE, LINK, UNLINK, REQUEUE
> RFC1945(HTTP/1.0) lists GET, HEAD, POST as supported methods
• For HTTP/1.1– GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE
> LINK, UNLINK, REQUEUE methods are not supported
– CICS actions for status codes also made compliant
Message body handling
• should be no body for GET, HEAD, DELETE, TRACE methods– ignore on input
– INVREQ on output
CICS Transaction Server V3.1
© 2005 IBM Corporation31
Supported Methods and CICS handlingMethod received from
1.0 Client
received from
1.1 Client
send to
1.0 server
send to
1.1 server
GET Ignore Message body Ignore Message body sent to server
Invreq if body present
sent to server
Invreq if body present
PUT Pass to application Pass to application sent to server with body
Invreq if no body present
sent to server with body
Invreq if no body present
POST Pass to application Pass to application sent to server with body
Invreq if no body present
sent to server with body
Invreq if no body present
HEAD Ignore Message body Ignore Message body sent to server
Invreq if body present
sent to server
Invreq if body present
LINK Pass to application 501 – not implemented Invreq Invreq
UNLINK Pass to application 501 – not implemented Invreq Invreq
REQUEUE Pass to application 501 – not implemented Invreq Invreq
DELETE Pass to application Pass to application sent to server sent to server
OPTIONS 501 – not implemented Handle all in CWXN
501 if not OPTIONS *
Invreq sent to server
Invreq if not OPTIONS *
TRACE 501 – not implemented Handle all in CWXN Invreq sent to server
CONNECT 501 – not implemented 501 – not implemented Invreq Invreq
CICS Transaction Server V3.1
© 2005 IBM Corporation33
HTTP date and time stamp formats
Date and time stamps used in HTTP headers
• HTTP/1.1 clients and servers must accept– Tue, 01 Apr 2003 10:01:02 GMT : RFC 1123 format– Tuesday, 01-Apr-03 10:01:02 GMT : RFC 1036 format– Tue Apr 01 10:01:02 GMT : ANSI C’s asctime() format
• only generate the RFC 1123 format– Tue, 01 Apr 2003 10:01:02 GMT : RFC 1123 format
Uses of HTTP date and time stamps in CICS
• On receive,– Applications can read the HTTP headers and convert the time into absolute time
• On send, – CICS will automatically produce the Date header in the required format
– For other HTTP headers that need date & time stamps, application needs to convert absolute time (ABSTIME) to RFC 1123 format
CICS Transaction Server V3.1
© 2005 IBM Corporation35
HTTP date and time stamp formats…
CICS will supply APIs to handle conversion
– EXEC CICS CONVERTTIME
• converts HTTP formats to ABSTIME
– EXEC CICS FORMATTIME
• converts ABSTIME to HTTP format• new options DATESTRING and STRINGFORMAT
– STRINGFORMAT specifies the type of format in cvda
– currently only 646 (RFC1123) is supported
> if DATESTRING present and STRINGFORMAT not specified, RFC1123 is used
EXEC CICS CONVERTTIME DATESTRING (‘Tue, 01 Apr 2003 10:01:02 GMT’)
ABSTIME (+003258180062000)
EXEC CICS FORMATTIME ABSTIME (+003258180062000) STRINGFORMAT (RFC1123)
DATESTRING (‘Tue, 01 Apr 2003 10:01:02 GMT’)
CICS Transaction Server V3.1
© 2005 IBM Corporation37
Persistent connections
In previous CICS releases
• Compliant with HTTP/1.0– by default, CICS would close the connection when data received
– Web client would send “Connection: Keep-Alive” header to keep connection open
• Can be ultimately controlled by SOCKETCLOSE on TCPIPSERVICE– normally would specify SOCKETCLOSE(0) unless SSL
• CWXN will remain in system until socket closed– System may get flooded with inactive CWXN tasks
Socketclosesocket connection
CWXNCWBA
CWBA
CWBA
CICS
CICS Transaction Server V3.1
© 2005 IBM Corporation39
Persistent connections…
In CICS TS V3.1
• Compliant with HTTP/1.1 persistent connection– CICS will keep the session open by default
– Session closed when requested (e.g. in header, client termination, timeout, etc.)
– SOCKETCLOSE(0) will fail to meet the requirements for HTTP/1.1
• Asynchronous sockets support for CWXN– CWXN terminates but socket still open (“pseudo conversational”)
– Eliminates CWXN tasks suspending in the system
CWXN
CWXN
Socketclosesocket connection
CWXNCWBA
CWBA
CWBA
CICS
CICS Transaction Server V3.1
© 2005 IBM Corporation41
Pipelining
Send multiple request without waiting for response
• responses are returned in the same sequence that the request was received• requests should be idempotent
– i.e. same result is always obtained when the requests are repeated
• requires persistent connection
SEND
SEND
SEND
SEND
request A
request B
request C
request D
SEND
SEND
SEND
SEND
response A
response B
response C
response D
RECEIVE
RECEIVE
RECEIVE
RECEIVE
RECEIVE
RECEIVE
RECEIVE
RECEIVE
Client Server
CICS Transaction Server V3.1
© 2005 IBM Corporation43
Pipelining…
CICS support for pipelining
• CICS acting as a server– CICS will process the requests serially as separate transactions
– remaining requests in the pipelined message will be held until the response is sent
• CICS acting as a client– Application will connect to a remote server and issue a series of send requests
> each request is sent immediately
– Application should receive the pipelined responses in the order the request was sent
SEND
SEND
SEND
request A
request B
request C
SEND
response A
response B
response C
RECEIVE
RECEIVE
RECEIVE
RECEIVE
SEND
RECEIVE
SEND
RECEIVE
CICS Transaction Server V3.1
© 2005 IBM Corporation45
Chunking
Chunked transfer-coding
• transfer data in convenient segments– dynamically produced contents
– large amount of content
• Sends the body of a message in chunks– each chunk has its own size indicator
– may be followed by optional trailer headers
– end-of-message is indicated by a chunk with zero length and an empty line
> empty line signified by <CRLF><CRLF>
• recipient will receive the message as a whole– recipient can verify that it received the complete message
SEND
SEND
SENDSEND
RECEIVE… …
CICS Transaction Server V3.1
© 2005 IBM Corporation47
Chunking…
CICS support for chunking• On inbound,
– wait until all the chunks are received– application can receive the data with a single WEB RECEIVE command– If CICS is acting as a server,
> timeout value set by SOCKETCLOSE in TCPIPSERVICE> total amount of data is limited by the MAXDATALEN attribute in TCPIPSERVICE
– If CICS is acting as a client> RTIMOUT value for the executing transaction applied
• On outbound,– Application specifies chunking by CHUNKING ( CHUNKYES) on each WEB SEND
command> CICS will create the “Transfer-Encoding: chunked” and “chunk-size” header> CICS DOCTEMPLATEs cannot be used directly in chunking
– to end chunking, send a CHUNKING(CHUNKEND)
CICS Transaction Server V3.1
© 2005 IBM Corporation49
TCPIPSERVICE change
PROTOCOL ( ECI | HTTP | IIOP | USER )
• HTTP 1.1 states an error response to be returned for non-HTTP methods– previously customers will default to PROTOCOL(HTTP) for request other than
HTTP, ECI, IIOP and use CICS Web Support to handle the request.
– non-HTTP request on a PROTOCOL(HTTP) port will return 501 error
• New USER option– used for non-HTTP methods
– CICS Web Support will still be invoked but under a different tranid.
> CWXU
- but same program used as CWXN
> non-HTTP processing is exactly the same as today.
- no code conversion prior to analyzer
- Invokes the analyzer
- Invokes the converter program if required
- Invokes the target application
– may need to change port for migration
CICS Transaction Server V3.1
© 2005 IBM Corporation51
TCPIPSERVICE change …
MAXDATALEN ( 32KB | number KB )
• Maximum data that can be received on the port for the service– limit amount of data received by chunking
– to prevent denial of service
• minimum of 32KB (default)– maximum is 0.5GB
SOCKETCLOSE
• Recommendation change– Formerly, SOCKETCLOSE(0) was recommended
– In CICS TS V3.1, recommendation is to not specify SOCKETCLOSE(0)
> SOCKETCLOSE(0) will fail to meet the requirements for HTTP/1.1
CICS Transaction Server V3.1
© 2005 IBM Corporation53
HTTP processing in CICS
CICS as an HTTP server
• Web client sends an HTTP request to CICS
CICS as an HTTP client
• CICS sends an HTTP request to a remote server
HTTP request
HTTP response
HTTP request
HTTP response
CICS
Web
Support
Outbound
HTTP
Support
CICS
Application
CICS
Application
CICS
CICS
CICS Transaction Server V3.1
© 2005 IBM Corporation55
CICS as an HTTP server
Processing changes in CICS TS V3.1• New URIMAP resource to determine the processing for the request
– Types of processing> Redirection> Static response> Application response
• API changes– WEB API changes
> Support for chunking– HTTP date and time stamp format handling
> CONVERTTIME, FORMATTIME
• Code conversion changes– Support for UTF-8, UTF-16 code page conversions
CICS Transaction Server V3.1
© 2005 IBM Corporation57
URIMAP for CICS as an HTTP server
A URIMAP will
• match the incoming URI and…– invoke a CICS application, or
> directly> using analyzer and converter programs
– supply a static response, or> specify code conversion characteristics
– redirect HTTP requests to a specified URL, or– invoke a CICS Web service
• Analyzer is invoked if no URIMAP matches URIMAP ==> SAMPURI USAGE ==> ServerUniversal Resource Identifier SCHEME ==> HTTP HOST ==> www.ibm.com PATH ==> Scripts/Global/*Associated CICS resource ….Static Document Properties ….Redirection ….
http : / / www.ibm.com : 80 / Scripts / Global / nph-cc ? cc=at
scheme host port path query-string
URIMAP definition
CICS Transaction Server V3.1
© 2005 IBM Corporation59
CICS Web Support processing in CICS TS V3.1
New URIMAP resource to determine the processing for the request
• analyzer programs are now optional• more flexible URI path
– remove CICS specific resource names from path
Socket
Listener
(CSOL)
Web Attach
transaction
(CWXN)
DFHCCNV (Header)
Analyzer
DFHCCNV (User Data)
Alias
transaction
(CWBA)
Business
Logic
Interface
(DFHWBBLI)
Converter (Decode)
Applicationor
3270 transaction via DFHWBTTA
Converter (Encode)
DFHCCNV
CICS
URIMAP matching
CICS Transaction Server V3.1
© 2005 IBM Corporation61
Application response
An application program is executed to service the request
• program can be specified by– PROGRAM attribute in URIMAP definition – Analyzer program– Converter program
• program can be– “Web-aware” using EXEC CICS WEB and DOCUMENT APIs– COMMAREA program– 3270 application
HTTP request
HTTP response
CICS
Web
Support
CICS
CICSApplication
CICS Transaction Server V3.1
© 2005 IBM Corporation63
Application response…
URIMAP for Web aware programs• essentially, you only need to specify PROGRAM attribute
– let the other parameters default
• if you want to use an analyzer program– specify ANALYZER(YES) and TCPIPSERVICE
> analyzer program on TCPIPSERVICE will be used– the following may be overridden by analyzer
> CONVERTER, TRANSACTION, USERID, PROGRAM– if ANALYZER(NO)
> CONVERTER or PROGRAM or both must be present
• if you want to use a converter program– specify CONVERTER– PROGRAM may be overridden by converter
• optionally specify..– TRANSACTION
> default is CWBA, always run DFHWBA program– USERID
> may be overridden by AUTHENTICATE in TCPIPSERVICE
CICS Transaction Server V3.1
© 2005 IBM Corporation65
Application response…
URIMAP for COMMAREA applications
• Specify the target program in PROGRAM attribute• Specify CONVERTER to do the decode and encode functions
– if not specified by analyzer program
URIMAP for 3270 applications
• Specify Web Terminal Translation Application in PROGRAM attribute– DFHWBTTA, DFHWBTTB or DFHWBTTC
• PATH should be generic– e.g. /terminal/*
• Format for the rest of the path– /[transaction name]+[input parameters]?[token]
> e.g. /cemt+inq+task
CICS Transaction Server V3.1
© 2005 IBM Corporation67
Static response
Responses without the need to invoke an application program
• from a CICS DOCTEMPLATE resource or a file on HFS– HFS file can also be specified in DOCTEMPLATE
• if DOCTEMPLATE – can use query strings to substitute symbols
> query string must not be included in the PATH attribute of URIMAP
– passes the content as a symbol string
HTTP request
HTTP response
CICS
Web
Support
CICS
HFS
doctemplate
CICS Transaction Server V3.1
© 2005 IBM Corporation69
Static response…
In URIMAP definition
• specify the location of the document– TEMPLATENAME used for CICS DOCTEMPLATEs
– HFSFILE used for HFS files
• path matching can be used– wild card character specified in the PATH, and TEMPLATENAME / HFSFILE
• specify MEDIATYPE– i.e. text/html, text/xml, etc.
• if text type document specify– CHARACTERSET: default is ISO-8859-1
– HOSTCODEPAGE: default is LOCALCCSID on SIT
• ANALYZER(NO) is required
PATH ==> findout/pictures/*
HFSFILE ==> /u/facts/image/*
/findout/pictures/bluefish.jpg
/u/facts/image/bluefish.jpg
CICS Transaction Server V3.1
© 2005 IBM Corporation71
Redirection
Redirect to another location on the web• permanently or temporarily• can be changed by SET URIMAP command for redirection
In URIMAP definition• specify LOCATION attribute
– with REDIRECTTYPE( NONE | TEMPORARY | PERMANENT )• the following will be inactivated by setting redirection
– ANALYZER, CONVERTER, HFSFILE, PIPELINE, PROGRAM, TEMPLATENAME, TRANSACTION, USERID
– can reactivate by setting REDIRECTTYPE(NONE)
HTTP request
Redirected HTTP request
CWS
CICS
301/302 response
CICS Transaction Server V3.1
© 2005 IBM Corporation73
URIMAP definition
Urimap ==> Group ==> DEscription ==> STatus ==> Enabled Enabled | Disabled USAge ==> Server Server | Client | Pipeline UNIVERSAL RESOURCE IDENTIFIER SCheme ==> HTTP HTTP | HTTPS HOST ==> (Mixed Case) ==> PAth ==> (Mixed Case) ==>
==> ==> ==>
ASSOCIATED CICS RESOURCES TCpipservice ==> Analyzer ==> No No | Yes COnverter ==> TRansaction ==> PRogram ==> PIpeline ==> Webservice ==> (Mixed Case)
CICS Transaction Server V3.1
© 2005 IBM Corporation74
URIMAP definition…
STATUS({ENABLED| DISABLED}) For all USAGE options. Specifies whether the URIMAP definition is to be installed in an enabled or disabled state.
USAGE({SERVER| CLIENT| PIPELINE}) Specifies whether this URIMAP definition is for CICS as an HTTP server (SERVER), CICS as an HTTP client (CLIENT), or an XML service (PIPELINE). The USAGE attribute governs which other attributes in the URIMAP definition can be used
SCHEME({HTTP| HTTPS}) For all USAGE options. Specifies the scheme component of the URI to which the URIMAP definition applies, which is either HTTP (HTTP without SSL) or HTTPS (HTTP with SSL).
HOST(hostname) For all USAGE options. Specifies the host component of the URI to which the URIMAP definition applies, which can be up to 116 characters. An example of a host name is www.research.ibm.com.
PATH(path) For all USAGE options. Specifies the path component of the URI to which the URIMAP definition applies, which can be up to 255 characters. An example of a path is software/htp/cics/index.html.
TCPIPSERVICE(data-area) For USAGE(SERVER) and USAGE(PIPELINE). Specifies the 1- to 8-character name of a TCPIPSERVICE resource definition that defines an inbound port to which this URIMAP definition relates.
ANALYZER For USAGE(SERVER), where an application-determined response is to be provided. Specifies whether an analyzer program is to be used in processing the HTTP request from the Web client.
CONVERTER(data-area) For USAGE(SERVER), where an application-determined response is to be provided. Specifies the 1-8 character name of a converter program that is to be run to perform conversion or other processing on the content of the request.
TRANSACTION(data-area) For USAGE(SERVER), where an application-determined response is to be provided and USAGE(PIPELINE). Specifies the 1-4 character name of an alias transaction that is to be used to run the user application that composes a response to the HTTP request from the Web client
PROGRAM(data-area) For USAGE(SERVER), where an application-determined response is to be provided. Specifies the 1-8 character name of the user application program that composes a response to the HTTP request from the Web client.
PIPELINE(data-area) For USAGE(PIPELINE). Specifies the 1-8 character name of the Pipeline Resource definition that defines the application that processes the request.
WEBSERVICE(data-area) For USAGE(PIPELINE). Specifies the name of the Web Service Resource definition that defines the application that processes the request.
CICS Transaction Server V3.1
© 2005 IBM Corporation75
URIMAP definition (continued)
SECURITY ATTRIBUTES USErid ==> CIphers ==> CErtificate ==> (Mixed Case) STATIC DOCUMENT PROPERTIES Mediatype ==> (Mixed Case) CHaracterset ==> (Mixed Case) HOSTCodepage ==> TEmplatename ==> (Mixed Case) HFsfile ==> (Mixed Case) ==>
==> ==> ==>
REDIRECTION Redirecttype ==> None None | Temporary | Permanent Location ==> (Mixed Case) ==>
==> ==> ==> ==>
CICS Transaction Server V3.1
© 2005 IBM Corporation76
URIMAP definition (continued)…
USERID(data-area) For USAGE(SERVER), where an application-determined response is to be provided, and USAGE(PIPELINE). Specifies the 1-8 character user ID under which the alias transaction will be attached.
CIPHERS=value For USAGE(SERVER). The CIPHERS list is only used when the sockets connection established for the resource uses SSL or TLS.
CERTIFICATE(data-area) For USAGE(CLIENT). Specifies the label of the X.509 certificate that is to be used as the SSL client certificate during the SSL handshake.
MEDIATYPE(name) For USAGE(SERVER) , where a static response is to be provided. Specifies the data content of the response that CICS provides to the HTTP request from the Web client, for example image/jpg, text/html or text/xml. Up to 40 characters can be used.
CHARACTERSET(data-area) For USAGE(SERVER) , where a static response is to be provided. Specifies the 1-40 character name of the character set into which CICS converts the entity body of the response that is sent to the Web client. ISO-8859-1, the default character set for the Web, is used as the default if this attribute is not specified.
HOSTCODEPAGE(data-area) For USAGE(SERVER) , where a static response is to be provided. Specifies the 1-10 character name of the IBM code page (EBCDIC) that is used in the CICS system when handling this request. This attribute only applies where a text document is used to provide a response to the request, or where the request includes an entity body in a text format.
TEMPLATENAME(data-area) For USAGE(SERVER), where a static response is to be provided. Specifies the 1-48 character name of a CICS document template that will form the static response which is sent to the HTTP request from the Web client.
HFSFILE(data-area) For USAGE(SERVER), where a static response is to be provided. Specifies the fully qualified name of a UNIX System Services HFS file that will form the static response which is sent to the HTTP request from the Web client.
REDIRECTTYPE(NONE|TEMPORARY|PERMANENT) For USAGE(SERVER) and USAGE(PIPELINE). Specifies the type of redirection for requests that match this URIMAP definition. The URL specified by the LOCATION attribute is used for redirection when required.
LOCATION(data-area) For USAGE(SERVER) and USAGE(PIPELINE). Specifies a URI of up to 255 characters to which the HTTP request should be redirected.
CICS Transaction Server V3.1
© 2005 IBM Corporation77
URIMAP valid attributesattributes USAGE(SERVER) USAGE(CLIENT) USAGE(PIPELINE)
STATUS ENABLED / DISABLED ENABLED / DISABLED ENABLED / DISABLED
SCHEME HTTP / HTTPS HTTP / HTTPS HTTP / HTTPS
HOST required required required
PATH required required required
TCPIPSERVICE optional n/a optional
ANALYZER YES / NO n/a n/a
CONVERTER optional n/a n/a
TRANSACTION optional n/a optional
PROGRAM optional n/a n/a
PIPELINE n/a n/a required
WEBSERVICE n/a n/a required
USERID optional n/a optional
CIPHERS n/a optional n/a
CERTIFICATE n/a optional n/a
MEDIATYPE optional n/a n/a
CHARACTERSET optional n/a n/a
HOSTCODEPAGE optional n/a n/a
TEMPLATENAME optional n/a n/a
HFSFILE optional n/a n/a
REDIRECTTYPE optional n/a optional
LOCATION optional n/a optional
CICS Transaction Server V3.1
© 2005 IBM Corporation79
Managing URIMAP resource
URIMAP resource
• Can be managed via CEMT or SPI commands• INQUIRE URIMAP
– Inquire on the current URIMAP settings
• SET URIMAP– Enable or disable the status
> when disabled, HTTP requests will get a 503 (Service Unavailable)
– Temporarily redirect to a remote server
CICS Transaction Server V3.1
© 2005 IBM Corporation81
Virtual hosting
Having multiple host names for the same IP address
• DNS host name resolution returns same IP address for different host names• HTTP/1.1 specification allows the host name to be stored in a “Host” header
– In HTTP/1.0, host name was lost after resolution
• Can treat requests with different host names as different resources
http://www-1.ibm.com
http://204.146.81.99
DNSserver
GET /htp/cics/index.html HTTP/1.1
204.146.81.99
Host: www-1.ibm.com
DNS resolution
http://www-2.ibm.com
http://204.146.81.99
DNS resolution
GET /htp/cics/index.html HTTP/1.1
Host: www-2.ibm.com
CICS Transaction Server V3.1
© 2005 IBM Corporation83
Virtual hosting…
CICS will form a group of virtual hosts from URIMAP definition
• HTTP requests are mapped to the virtual host• virtual hosts can be managed by INQUIRE and SET commands
– to inquire the host name and status of the virtual host
– enable or disable the status of the virtual host
> when disabled, CICS will return an HTTP 503 response to the Web client
www-1.ibm.com
www-2.ibm.com
www-3.ibm.com
Host: www-2.ibm.com
Host: www-1.ibm.com
Host: www-3.ibm.com
URIMAP3
Disabled
Enabled
EnabledURIMAP4
URIMAP1
URIMAP2
URIMAP5TCP/IPPORT
CICS
Host: www-4.ibm.comURIMAP7
URIMAP8
URIMAP6
www-4.ibm.com
Enabled
host name used
CICS Transaction Server V3.1
© 2005 IBM Corporation85
Managing HTTP requests
Accepting or rejecting HTTP requests
• Requests can be managed in different levels– On a specific URI level
> SET URIMAP ENABLE/DISABLE
– On a particular (virtual) host name level
> SET HOST ENABLE/DISABLE
– On a port level
> SET TCPIPSERVICE OPEN/CLOSE
– On a region level
> SET TCPIP OPEN/CLOSE
CICS Transaction Server V3.1
© 2005 IBM Corporation87
Receiving an HTTP request
EXEC CICS WEB RECEIVE• MAXLENGTH to specify the amount passed to the application• NOTRUNCATE option used for data exceeding MAXLENGTH
– with NOTRUNCATE> remaining data retained and LENGERR raised> original data length is returned in LENGTH> must issue subsequent WEB RECEIVE to receive data
– without NOTRUNCATE> data truncated and LENGERR raised
• when the receiving data is chunked– same rule applies with MAXLENGTH and NOTRUNCATE– applies to the total length of the chunked message
• to specify conversion of the entity body– SERVERCONV(SRVCONVERT)– Optionally, CHARACTERSET and HOSTCODEPAGE
CICS Transaction Server V3.1
© 2005 IBM Corporation89
Sending an HTTP response
EXEC CICS WEB SEND
• STATUSCODE– specify an HTTP status code to be inserted for the response
• STATUSTEXT, STATUSLENGTH– specify a text to describe the reason for the status code
• ACTION option – ACTION(IMMEDIATE); send a response immediately
– ACTION(EVENTUAL); send a response at end of task (default)
• to specify conversion of the entity body– SERVERCONV(SRVCONVERT)
– Optionally, CHARACTERSET and HOSTCODEPAGE
CICS Transaction Server V3.1
© 2005 IBM Corporation91
Sending an HTTP response…
EXEC CICS WEB SEND
• Chunking is specified by CHUNKING(CHUNKYES) option– Sending chunked responses are always IMMEDIATE
– CICS will create the headers for chunking
> “transfer-encoding: chunked” on first send
> “chunk-size” on each send
– Data must be supplied by FROM option
> DOCTOKEN cannot be used
– To include Trailer headers for chunking
> “Trailer” header must be sent with the first chunk
> Headers written after the first chunk will be sent as trailer headers
> Trailer headers are sent out with the final empty chunk
– CHUNKING(CHUNKEND) will end the chunking
> omitting CHUNKLENGTH key word will also end chunking
CICS Transaction Server V3.1
© 2005 IBM Corporation93
Decision points for CICS as an HTTP server
HTTP/1.0 or HTTP/1.1• or non-HTTP request
Use URIMAP to do…• Redirection / Static response / Application determined response
Will I use an analyzer?• Analyzer needs to be specified in TCPIPSERVICE
Will I use a converter?
What type of application?• Web-aware, non Web-aware (commarea based), 3270 application• Header handling, date and time stamp handling• Chunking, pipelining• Can a static response be used instead of application processing?
When and how will I do code conversion?
Security?
CICS Transaction Server V3.1
© 2005 IBM Corporation95
CICS as an HTTP client
Processing changes
• API changes to replace the LINKable interface– New & changed WEB APIs
> Support outbound requests
> Support for chunking, pipelining
– HTTP date and time format handling
> CONVERTTIME, FORMATTIME
• URIMAP resource for client processing• Code conversion changes
– Support for UTF-8, UTF-16 code page conversions
CICS Transaction Server V3.1
© 2005 IBM Corporation97
Sending an outbound HTTP request
Initiate connection• EXEC CICS WEB OPEN
Prepare outbound data• HTTP headers
– EXEC CICS WEB WRITE HTTPHEADER
• entity body– CICS DOCUMENTs may be used
Transmit HTTP request• EXEC CICS WEB SEND
– or EXEC CICS WEB CONVERSE– may specify query string with QUERY option
Receive HTTP response• EXEC CICS WEB RECEIVE
Close connection• EXEC CICS WEB CLOSE
EXEC CICS WEB OPEN
prepare data to be sent
write headers
EXEC CICS WEB SEND
EXEC CICS WEB RECEIVE
check headers
process received data
prepare for second request
EXEC CICS WEB CONVERSE
check headers
process received data
EXEC CICS WEB CLOSE
CICS Transaction Server V3.1
© 2005 IBM Corporation99
Using session tokens
SESSTOKEN option used to
• specify the command is used in CICS as an HTTP client• identify a unique session
– all commands related to the session
> interactions with the remote server
WEB SEND, WEB RECEIVE, WEB CONVERSE
> manipulating HTTP headers
WRITE HTTPHEADER, READ HTTPHEADER, Browse HTTP headers
> closing the session
WEB CLOSE
CICS Transaction Server V3.1
© 2005 IBM Corporation101
Opening a session
EXEC CICS WEB OPEN• Opens a session to the remote server identified by
– URIMAP with USAGE(CLIENT) or– HOST, HOSTLENGTH, PORT, SCHEME
• Returns a session token for use in subsequent WEB commands– SESSTOKEN option– HTTPVNUM, HTTPRNUM returned from remote server
> to check when writing HTTP headers or sending chunked data• Additional options
– CERTIFICATE> X.509 certificate to be used as SSL client certificate during SSL handshake> scheme must be HTTPS
– CODEPAGE> EBCDIC code page to be used for this session. > Default is LOCALCCSID on SIT
CICS Transaction Server V3.1
© 2005 IBM Corporation103
URIMAP ==> SAMPURI USAGE ==> ClientUniversal Resource Identifier SCHEME ==> HTTP HOST ==> www.ibm.com:80 PATH ==> Scripts/Global/nph-ccAssociated CICS resource ….Static Document Properties ….Redirection ….
URIMAP definition
URIMAP for CICS as an HTTP client
A URIMAP can be used to
• specify the target URI– can avoid identifying URIs in programs
> on WEB OPEN and WEB SEND commands
• add security settings
http : / / www.ibm.com : 80 / Scripts / Global / nph-cc ? cc=at
scheme host port path query-string
Can be supplied on WEB OPEN commands
Can be supplied on WEB SEND commands
CICS Transaction Server V3.1
© 2005 IBM Corporation105
Sending an HTTP request
EXEC CICS WEB SEND• SESSTOKEN is mandatory on CICS as an HTTP client
– returned on a previous WEB OPEN command
• HTTP method is specified on METHOD option– GET, POST, OPTIONS, HEAD, PUT, DELETE, TRACE
• Path information for the remote server– PATH, PATHLENGTH or via URIMAP option– if URIMAP option is specified on the WEB OPEN command, it will be used as
default
• Can supply a query string– QUERYSTRING, QUERYSTRLEN– CICS will automatically add ‘?’ at the beginning of the string if not present
• to specify conversion of the entity body– CLIENTCONV(CLICONVERT)– Optionally, CHARACTERSET
CICS Transaction Server V3.1
© 2005 IBM Corporation107
Sending an HTTP request…
EXEC CICS WEB SEND
• Sending outbound is always immediate– ACTION(IMMEDIATE) is implied
– ACTION(EXPECT)
> CICS will send an “Expect” header and receive a “100-Continue” response before sending the message body
• Consecutive WEB SENDs will result in pipelining• Chunking specified by CHUNKING ( YES) option
– usage is same as chunking in CICS as an HTTP server
• CLOSESTATUS(CLOSED)– Will send a “Connection: close” header to the remote server
– no further new HTTP requests can be sent for the session
CICS Transaction Server V3.1
© 2005 IBM Corporation109
Receiving an HTTP response
EXEC CICS WEB RECEIVE
• SESSTOKEN is mandatory on CICS as an HTTP client– retuned on a previous WEB OPEN command
• content type is returned in MEDIATYPE option• to specify conversion of the entity body
– CLIENTCONV(CLICONVERT)
• HTTP status code returned from the server– STATUSCODE
> certain error codes are handled by CICS and not returned to the application
– STATUSTEXT, STATUSLENGTH
> text returned from the remote server to describe the status code
• MAXLENGTH to specify the amount passed to the application– NOTRUNCATE option for data exceeding MAXLENGTH
• When response is chunked– returns to application after all of the message is received
• RTIMOUT for transaction applied
CICS Transaction Server V3.1
© 2005 IBM Corporation111
Send a request and receive a response
EXEC CICS WEB CONVERSE
• SESSTOKEN is mandatory on CICS as an HTTP client– retuned on a previous WEB OPEN command
• options mostly same as WEB SEND / WEB RECEIVE• Pipelining and chunking not supported• RTIMOUT for transaction applied• Cannot use between WEB SEND and WEB RECEIVE commands
– WEB CONVERSE will get a INVREQ
< options for sending >
ACTIONCLOSESTDOCTOKENFROM, FROMLENGTHMEDIATYPEMETHODPATH, PATHLENGTHQUERYSTRING, QUERYSTRLENURIMAP
< options for receiving >
INTOTOLENGTHMAXLENGTHMEDIATYPENOTRUNCATESETSTATUSCODESTATUSTEXT, STATUSLEN
< options for code conversion >
CHARACTERSETCLIENTCONV
CICS Transaction Server V3.1
© 2005 IBM Corporation113
Closing a session
EXEC CICS WEB CLOSE
• Close a session with a remote server– will not notify remote server
– for notification,
> use CLOSESTATUS(CLOSED) on WEB SEND
> write a “Connection: close” header with WRITE HTTPHEADER and then WEB SEND
– if the remote server sent a “Connection: close” header
> can find out by READ HTTPHEADER
> no further messages can be sent for the session
> issue WEB CLOSE
CICS Transaction Server V3.1
© 2005 IBM Corporation115
Other WEB APIs
EXEC CICS WEB PARSE URL
• Breaks down a URL string into> scheme, host, port, path, query string
• validate the construction of a URL• use on a subsequent WEB OPEN to open a session
EXEC CICS WEB EXTRACT
• obtains information about an HTTP request> applies to both inbound and outbound HTTP requests
• use SESSTOKEN option for CICS as an HTTP client– extract information about the most recent outbound request
CICS Transaction Server V3.1
© 2005 IBM Corporation117
Exits for CICS as an HTTP client
XWBOPEN
• called during WEB OPEN, before the session is open• Usage
– determine usage for proxy servers
– apply a security policy to the host name
– etc.
XWBSNDO
• called during WEB SEND or WEB CONVERSE, before sending the request– for chunked transfer-coding, only called for the first WEB SEND
• Usage– apply a security policy to the host and path component
– etc.
CICS Transaction Server V3.1
© 2005 IBM Corporation119
Code conversion changes in CICS TS V3.1
Changes for DFHCNV
Support for Unicode UTF-8, UTF-16 formats
Code conversion in CICS as an HTTP server
Code conversion in CICS as an HTTP client
CICS Transaction Server V3.1
© 2005 IBM Corporation121
Changes for DFHCNV
Code conversion table not required
• code pages are specified in– WEB/DOCUMENT APIs for web-aware applications
– Analyzer program for non web-aware applications
– URIMAP definition for static responses
• DFHCNV can still be used– for migration purposes
– specify which DFHCNV entry to use in the analyzer
CICS Transaction Server V3.1
© 2005 IBM Corporation123
Support for Unicode UTF-8, UTF-16 formats
Support for Unicode
• CICS now provides codepage conversions to and from UTF-8 and UTF-16– CICS as an HTTP server
– CICS as an HTTP client
• uses the z/OS conversion services– conversion facility must be enabled
> documented in “z/OS Support for Unicode Using Conversion Services”
• Conversions to and from Unicode can be specified in– WEB APIs
– Analyzer program
• DFHCNV cannot be used to specify Unicode conversion
CICS Transaction Server V3.1
© 2005 IBM Corporation125
Setting up the conversion service
Create conversion image• Run the Image generator utility• Sample JCL supplied
– CUNJIUTL in SCUNJCL library
Setup the parmlib
• Copy the generated conversion image to the parmlib• Create parmlib member CUNUNIxx
– Specify UNI=xx in IEASYSnn
Activate the environment
• Re-IPL or SET UNI=xx command• DISPLAY UNI,ALL command to display current settings
//CVIMAGE JOB MSGCLASS=X,MSGLEVEL=(1,1),REGION=4M//CUNMIUTL EXEC PGM=CUNMIUTL//STEPLIB DD DISP=SHR,DSN=SYS1.LINKLIB//SYSPRINT DD SYSOUT=*//TABIN DD DISP=SHR,DSN=SYS1.SCUNTBL//SYSIMG DD DISP=SHR,DSN=SYS1.IMAGES(CUNIMG02)//SYSIN DD * CONVERSION 1200,037; CONVERSION 037,1200;/*
Generated conversion image
Unicode EBCDIC CCSID
EBCDIC CCSID Unicode
REALSTORAGE 1200IMAGE CUNIMG02;
Storage size to load the conversion image
Conversion image to be activated
CICS Transaction Server V3.1
© 2005 IBM Corporation127
Code conversion in CICS as an HTTP server
Specifying code conversion• On WEB APIs
– Specify SERVERCONV(SRVCONVERT) for conversion> Default is NOSRVCONVERT
– On receive > CICS normally identifies the character set from the “Content-Type” header
- if there is no header, ISO-8859-1 is assumed- use CHARACTERSET option on WEB RECEIVE for other is required
> HOSTCODEPAGE on WEB RECEIVE to identify the EBCDIC code page- default is LOCALCCSID in SIT
– On send> CHARACTERSET on WEB SEND
- default is ISO-8859-1> HOSTCODEPAGE on WEB SEND
- default is LOCALCCSID in SIT - omit HOSTCODEPAGE if using DOCTOKEN
CICS Transaction Server V3.1
© 2005 IBM Corporation129
Code conversion in CICS as an HTTP server…
Specifying code conversion• Analyzer program
– for non web aware programs
– wbra_characterset and wbra_hostcodepage parameters
> Or, a key for an entry of DFHCNV (wbra_dfhcnv_key)
• In URIMAP definition– for static responses
– CHARACTERSET and HOSTCODEPAGE attributes
CICS Transaction Server V3.1
© 2005 IBM Corporation131
Code conversion in CICS as an HTTP client
Specifying code conversion• On WEB APIs
– Specify CLIENTCONV(CLICONVERT) for conversion
> Default is CLICONVERT
– On send,
> CHARACTERSET on WEB SEND
- ISO-8859-1 is the default
> CODEPAGE on WEB OPEN identifies the EBCDIC code page
- default is LOCALCCSID in SIT
– On receive,
> Character set is identified in the “Content-Type” header
- ISO-8859-1 is the default
> CODEPAGE on WEB OPEN
- default is LOCALCCSID in SIT
CICS Transaction Server V3.1
© 2005 IBM Corporation133
Other changes
Changes to URMs
Changes to definitions
API changes
JCICS API changes
SPI changes
Supplied transaction changes
Monitoring and statistics changes
CICS Transaction Server V3.1
© 2005 IBM Corporation135
Changes to URMs
Analyzer program• now optional, can be specified in URIMAP• but still can be used to
– change application programs, alias transaction, userids, code conversions, etc.– include monitoring or audit actions
• attributes of the URIMAP can be passed to the analyzer and overridden– CHARACTERSET, HOSTCODEPAGE, CONVERTER, TRANSACTION, USERID,
PROGRAM• some input and output parameter changes
– new output to indicate pre-CICS TS V3 compatibility processing> for non-Web aware programs to be processed as before
– parameters relating to code conversion• New supplied analyzer program DFHWBAAX
– To be invoked after no matching URIMAP found
Converter program• optional, can be specified in URIMAP and analyzer program• can be used to
– convert HTTP data to/from commareas– make more than one application program to be called for the same request
CICS Transaction Server V3.1
© 2005 IBM Corporation137
Changes to URMs
Web error program
• DFHWBEP invoked for new situations– HTTP/1.1 specific error responses
> HTTP request/response format inconsistencies
- Methods
- headers
> New error status codes
– new error situations
> URIMAP disabled, virtual host disabled
> resource cannot be found on a static response
> other unexpected errors processing URIMAPs
• New supplied Web error program DFHWBERX– invoked when used with the new supplied DFHWBAAX analyzer program
> 404 (Not Found) is returned to the client
CICS Transaction Server V3.1
© 2005 IBM Corporation139
Changes to definitions
SIT
• LOCALCCSID
RDO
• URIMAP• DOCTEMPLATE
– HFSFILE attribute
• TCPIPSERVICE– PROTOCOL attribute
– MAXDATALEN attribute
CICS Transaction Server V3.1
© 2005 IBM Corporation141
API changes
new API• EXEC CICS WEB PARSE
• EXEC CICS WEB OPEN
• EXEC CICS WEB CONVERSE
• EXEC CICS WEB CLOSE
• EXEC CICS CONVERTTIME
changed API• EXEC CICS WEB EXTRACT
• EXEC CICS WEB SEND
• EXEC CICS WEB RECEIVE
• EXEC CICS WEB WRITE HTTPHEADER
• EXEC CICS WEB READ HTTPHEADER
• EXEC CICS WEB STARTBROWSE HTTPHEADER
• EXEC CICS WEB READNEXT HTTPHEADER
• EXEC CICS WEB ENDBROWSE HTTPHEADER
• EXEC CICS FORMATTIME
* all APIs are threadsafe
* all APIs are now threadsafe
CICS Transaction Server V3.1
© 2005 IBM Corporation143
JCICS API changes
Extended to support new features
• HTTPSession class– open(), send(), receive(), converse(), close()
• HTTPRequest class– setPath(), setMethod(), setBody(), setConversion, writeHeader, etc.
• HTTPResponse class– getStatusCode(), getStatusText(), getHeader, getContent, etc.
CICS Transaction Server V3.1
© 2005 IBM Corporation145
SPI changes
new SPI• EXEC CICS CREATE URIMAP
• EXEC CICS DELETE URIMAP
• EXEC CICS INQUIRE URIMAP
• EXEC CICS SET URIMAP
• EXEC CICS INQUIRE HOST
• EXEC CICS SET HOST
changed SPI
• EXEC CICS CREATE DOCTEMPLATE
• EXEC CICS INQUIRE DOCTEMPLATE
• EXEC CICS SET DOCTEMPLATE
• EXEC CICS CREATE TCPIPSERVICE
• EXEC CICS INQUIRE TCPIPSERVICE
• EXEC CICS SET TCPIPSERVICE
CICS Transaction Server V3.1
© 2005 IBM Corporation147
Changes to supplied transaction
CWXU
• New transaction for non-HTTP requests– PROTOCOL(USER) in TCPIPSERVICE
• No URIMAP matching– Attaches analyzer program
CWXN
• Internal processing change– URIMAP matching
– analyzer program is optional
– handling for HTTP/1.1
– asynchronous receive
CICS Transaction Server V3.1
© 2005 IBM Corporation149
Changes to monitoring and statistics
Monitoring
• fields added to DFHWEBB group– count/bytes for sends and receives in CICS as an HTTP client
> WBREDOCT, WBWRTOCT, WBRCVIN1, WBCHRIN1, WBSNDOU1, WBCHROU1, WBPARSCT, WBBRWOCT
Statistics
• URIMAP statistics– number of URIMAP matches
– number of redirection, static response, application response, etc.
CICS Transaction Server V3.1
© 2005 IBM Corporation151
Statistics sample-URIMAPs - Global+________________0 URIMAP reference count . . . . : 0 Host/Path no match count . . . : 0 Host/Path match count. . . . . : 0 Host/Path match disabled . . . : 0 Redirected . . . . . . . . . . : 0 Analyzer used. . . . . . . . . : 0 Static content delivered . . . : 0 Dynamic content delivered. . . : 0 PIPELINE requests. . . . . . . : 00 Scheme (HTTP) requests . . . . : 0 Scheme (HTTPS) requests. . . . : 0 Scheme (WSMQ) requests . . . . : 00 Virtual host disabled count. . : 0
-URIMAPs+_______0 URIMAP Name. . . . . . . . . . : SAMPLE URIMAP Enable Status . . . . . : Enabled URIMAP Usage . . . . . . . . . : Server URIMAP Scheme. . . . . . . . . : HTTP0 URIMAP Host. . . . . . . . . . : www.hursley.ibm.com URIMAP Path. . . . . . . . . . : /0 TCPIPSERVICE name. . . . . . . : TCPS1 WEBSERVICE name. . . . . . . . : PIPELINE name. . . . . . . . . :0 Templatename . . . . . . . . . : HFS File . . . . . . . . . . . :0 Analyzer . . . . . . . . . . . : Yes Converter. . . . . . . . . . . : SAMPLE3 Transaction ID . . . . . . . . : CWBA Program name . . . . . . . . . : DFH0STAT0 Location for redirection . . . :0 URIMAP reference count . . . . : 0 Host/Path match disabled . . . : 0 Redirected . . . . . . . . . . : 0
-Virtual Hosts+_____________0 Virtual Host name. . . . . . . : www.hursley.ibm.com TCPIPSERVICE name. . . . . . . : TCPS1 Virtual Host Enable Status . . : Enabled
CICS Transaction Server V3.1
© 2005 IBM Corporation153
Summary
CICS now supports HTTP/1.1
• New features with HTTP/1.1 includes– persistent connection
– Chunking and pipelining
– HTTP date and time format
URIMAP resource for simplified management
• Can be used in place of analyzer programs
WEB API for outbound HTTP requests
Unicode code conversion support