Web services client to Web container optimized communication

To improve performance, there is an optimized communication path between a Web services client application and a Web container that are located in the same application server process. Requests from the Web services client that are normally sent to the Web container using a network connection are delivered directly to the Web container using an optimized local path. The local path is available because the Web services client application and the Web container are running in the same process.

This direct communication eliminates the need for clients and web containers that are in the same process to communicate over the network. For example, a Web services client might be running in an application server. Instead of accessing the network to communicate with the Web container, the Web services client can communicate with the Web container using the optimized communication path. This optimized communication path improves the performance of the application server by allowing Web services clients and Web containers to communicate without using network transports.

The optimized communication path is applicable to Web services clients sending requests to Web services that are in running on the same JVM. The optimized communication path always routes the request to a service on the same JVM. In this case, the service's virtual host needs to have an alias for localhost and the specific port specified. For example, if you want a Web services client to send a request to a Web service available at an endpoint URL, such as http://localhost:9080/Hello/HelloWorldService and use the optimized communication path between client and service, then in addition to enabling the property (setting enableInProcessConnections = true), you would have to create an alias for "localhost" and "9080" for the virtual host that the Web service is using.

The Web services client uses the defined virtual host information to determine whether the request can be served by the local Web container. You must define unique values for the host and port on each application server. You cannot define the values of host and port as wild cards denoted by the asterisk symbol (*) when you enable the optimized communication between the Web services application and the Web container. Make sure that you are not using wild cards for host names and ports in your Web container end points. Using wild cards indicate that the local Web container can handle Web services requests for all destinations.

In a clustered environment, there is typically an HTTP server (such as IBM HTTP server) that handles incoming client requests, distributing them to the correct application server in the cluster. The HTTP server uses information about the requested application and the defined virtual hosts to determine which application server receives the request.

The optimized communication path is disabled by default. You can enable the local communication path with the enableInProcessConnections custom property. Set this property to true in the Web container to enabled the optimized local communication path. When disabled, the Web services client and the Web container communicate using network transports.

For information about how to configure the enableInProcessConnections custom property, see Web container custom properties.

When the optimized communication path is enabled, logging of requests through the local path uses the same log attributes as the network channel chain for the Web container. To use a different log file for in process requests than the log file for network requests, use a custom property on the HTTP Inbound Channel in the transport chain. Use the localLogFilenamePrefix custom property to specify a string that is added to the beginning of the network log file name to create a file name that is unique. Requests through the local process path are logged to this specified file. For example, if the log filename is ../httpaccess.log for a network chain, and the localLogFilenamePrefix custom property is set to “local” on the HTTP channel in that transport chain, the local log file name for requests to the host associated with that chain is /localhttpaccess.log.

Important: If you specify a value for the localLogFilenamePrefix custom property, you must also set the accessLogFileName HTTP channel custom property to the fully qualified name of the log file you want to use for in process requests. You cannot specify a variable, such as $(SERVER_LOG_ROOT), as the value for this custom property.



Related tasks
Administering application servers
Related reference
HTTP transport channel custom properties
Reference topic Reference topic    

Terms and conditions for information centers | Feedback

Last updatedLast updated: Aug 31, 2013 4:28:44 AM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=pix&product=was-nd-mp&topic=rrun_inbound
File name: rrun_inbound.html