CICS TS 5.3 introduces a capability to eliminate the execution of the CWXN transaction for some web service applications. As stated in the IBM Redbook IBM CICS Performance Series: Web Services Performance in CICS TS V5.3:
"For applications that use the CICS web support (either as a web application or as a web service), optimizations have been made to remove the CWXN transaction where it is no longer necessary. If an inbound request is received by CICS, the user transaction will be directly attached without an intermediate CWXN transaction, if the following conditions are met:
This removal of the CWXN transaction results in an improvement in the CPU consumed per web request."
As of version 6.78, HostBridge has been enhanced to take advantage of this performance enhancement.
In order to configure HostBridge to take advantage of the CWXN elimination, you must define two or more URIMAPS and a new TCPIPSERVICE definition to your CICS region where HostBridge is installed and running. Here are examples of the entries:
Please note the following:
- You can change the port number in the TCPIPSERVICE definition to whatever you want.
- The HTTP inbound requests to HostBridge remain unchanged from what you currently specify, with the exception that you will now specify the port number in the TCPIPSERVICE request above.
- Both of the URIMAP definitions above point to the same TCPIPSERVICE definition. This means that utilizing the CWXN elimination method will also allow you to send all HostBridge requests (base or HB.js) to the same port number, and that you will now need to define only one TCPIPSERVICE definition for HostBridge.
- The PATH parameters are case sensitive.
- The URIMAPs will be serviced in decreasing order of path complexity. In the sample definitions above, any inbound request that starts with a path of /hostbridge (in other words, base HostBridge requests) will be serviced using the HBUBASE URIMAP (with transaction HWBA and converter program HBR$BLEX). Any other requests will be serviced by the HBUJSE URIMAP (with transaction HBJS and converter program HBR$BLEJ). The path definition of /* is a catch all meaning 'any path that does not confirm to the path definition in other URIMAPS'.
- The CWXN elimination processing will be bypassed in the following two circumstances:
- When an authentication error occurs. NOTE: This can be mostly bypassed if you are using .net for your script development and set PreAuthenticate to True for every request to the host.
- When a backlogged request is processed (review the BACKLOG parameter of the TCPIPSERVICE definition
Please contact HostBridge Support if you have any questions about this enhancement.