Using the Web Services Addressing (WS-Addressing) support in WebSphere Application Server, you can create endpoint references that can be distributed across firewalls and intermediary nodes.
To create endpoint references using WS-Addressing support, you use the com.ibm.websphere.wsaddressing.EndpointReferenceManager class of the WS-Addressing API to automatically generate endpoint references that represent endpoints on the node on which the references are generated. These endpoint references contain the appropriate address information, based on the URL configured for the endpoint and any valid proxy configuration for the server on which the endpoint resides. Messages targeted at the endpoint reference from the client are routed to the endpoint through the appropriate intermediary node or nodes, as described in the following topology scenarios.
You can
also use the WS-Addressing programming model to create an endpoint reference
that represents a service that should not be workload-managed, for example
because it maintains in-memory state. A service that uses a stateful session
bean is one example of a service that relies on routing affinity to a specific
server instance. To create an endpoint reference to such a service, use the
EndpointReferenceManager.createEndpointReference(QName serviceName, String
endpointName, java.rmi.Remote statefulSessionBean) method.
If you
enable high availability for stateful session beans, and create the endpoint
reference using this method, the endpoint reference remains valid even if
the stateful session bean is failed over, provided that the request originates
from a WebSphere Application Server client at version 6.1 or later, or is
routed by a Proxy Server for IBM WebSphere Application Server in the same
administrative cell, as described in the following topology scenarios.
The HTTP server with a Proxy Server for IBM WebSphere Application Server topology is useful when the HTTP server itself has no integrated capability for affinity-based routing to WS-Addressing endpoints.
For endpoint references that refer to services that do not access stateful information that is localized to a specific server, all the following topology scenarios are suitable.
Use this topology for non-clustered configurations.
Use this topology when endpoint references refer to services that are deployed in a workload-managed cluster, optionally access stateful information that is localized to a specific server, and optionally, can be failed over in a highly-available configuration.
If the proxy that
is addressed by the endpoint reference is a Proxy Server for IBM WebSphere
Application Server, at Version 6.1 or later, that exists in the same administrative
cell as the endpoint, messages targeted at a workload-managed endpoint reference
are workload-managed, based on the cluster. Similarly, requests targeted at
an endpoint reference that represents a stateful session bean retain affinity
to the server and the instance of that stateful session bean, and an endpoint
reference that represents a highly available stateful session bean remains
valid if the stateful session bean is failed over to another server.
If the proxy that is addressed by the endpoint reference is
a Proxy Server for IBM WebSphere Application Server, at Version 6.1 or later,
that exists in the same administrative cell as the endpoint, messages targeted
at a workload-managed endpoint reference are workload-managed, based on the
cluster.
Use this topology when endpoint references refer to services that are deployed in a workload-managed cluster, and that do not access any stateful information that is localized to a specific server.
Do
not deploy an endpoint reference that represents a stateful session bean in
this topology, because the HTTP server will not retain affinity to that stateful
session bean, and will spread its requests across the available servers.
To maintain
stateful session bean affinity and high availability, use a Proxy Server for
IBM WebSphere Application Server in addition to your HTTP server, as described
in the following topology.
Use this topology when endpoint references refer to services that are deployed in a workload-managed cluster, optionally access stateful information that is localized to a specific server, and optionally, can be failed over in a highly-available configuration. The topology is similar to the Proxy Server for IBM WebSphere Application Server topology, but supports the use of any HTTP server as the external reverse proxy.
In this topology, the WS-Addressing API automatically generates the appropriate endpoint reference address based on the URL prefix of the HTTP server that is configured for the target Web service module. You must provide HTTP endpoint URL information, that is, configure the HTTP URL prefix for each deployment of each application.
If the proxy that is addressed
by the endpoint reference is Proxy Server for IBM WebSphere Application Server,
at Version 6.1 or later, and exists in the same administrative cell as the
endpoint, messages targeted at a workload-managed endpoint reference are workload-managed,
based on the cluster. Similarly, requests targeted at an endpoint reference
that represents a stateful session bean retain affinity to the server and
the instance of that stateful session bean, and an endpoint reference that
represents a highly available stateful session bean remains valid if the stateful
session bean is failed over to another server.
If the
proxy that is addressed by the endpoint reference is Proxy Server for IBM
WebSphere Application Server, at Version 6.1 or later, and exists in the same
administrative cell as the endpoint, messages targeted at a workload-managed
endpoint reference are workload-managed, based on the cluster.