Web Service 寻址:防火墙和中间节点
通过在本产品中使用 Web Service 寻址 (WS-Addressing) 支持,您可以创建端点引用,这些端点引用透过防火墙和中间节点分发。
使用 WS-Addressing 支持,您可以自动生成端点引用(它表示生成引用的节点上的端点)。 根据为端点配置的 URL 以及主导该端点所在服务器的任何有效代理配置,这些端点引用包含相应的地址信息。 从客户机发出的、以端点引用作为目标的消息将通过一个或多个相应的中间节点路由至端点,如下列拓扑方案中所述。
您还可以使用 IBM 专有 API 来创建端点引用,该端点引用表示不应该由工作负载管理的服务,例如,因为它会维护内存中的状态。 使用有状态会话 Bean 的服务就是依赖于特定服务器实例的路由亲缘关系的服务示例。 要创建对此类服务的端点引用,使用
EndpointReferenceManager.createEndpointReference(QName serviceName, String
endpointName, java.rmi.Remote statefulSessionBean) 方法。
如果对有状态会话 Bean 启用高可用性,并使用此方法创建端点引用,那么即使有状态会话 Bean 发生故障转移,端点引用仍有效,前提是请求源自版本为 6.1 或更高版本的 WebSphere® Application Server 客户机。 或者由 Proxy Server for IBM® WebSphere Application Server 在同一管理单元中路由,如以下拓扑方案中所述。
- 将 直接连接 拓扑用于非集群配置。
- 当端点引用引用服务时,使用 HTTP 服务器,如 IBM HTTP Server ,拓扑结构:
- 在工作负载管理的集群中部署的服务
- 不访问位于特定服务器中的任何有状态信息的服务
- 当端点引用涉及以下服务时,请使用代理服务器 for IBM WebSphere Application Server 拓扑,或者具有代理服务器 for IBM WebSphere Application Server 拓扑的 HTTP 服务器 :
- 在工作负载管理的集群中部署的服务
- (可选)访问位于特定服务器中的有状态信息的服务
- (可选)在高可用性配置中可故障转移的服务
带有 IBM 代理服务器的 HTTP 服务器 WebSphere Application Server 拓扑结构在 HTTP 服务器本身没有基于亲缘关系路由到 WS-Addressing 端点的集成功能时非常有用。
对于引用不访问位于特定服务器中的有状态信息的服务端点引用,以下所有拓扑方案都适用。
直接连接
将此拓扑用于非集群配置。


使用标准 JAX-WS API 创建的端点引用不是工作负载管理的端点引用。
IBM WebSphere Application Server的代理服务器
当端点引用引用以下服务时使用此拓扑:在工作负载管理的集群中部署的服务、(可选)访问位于特定服务器中的有状态信息的服务和(可选)在高可用配置中可故障转移的服务。

- 如果此端点引用表示有状态会话 bean,以端点引用为对象的请求将亲缘关系保留到该服务器和该有状态会话 Bean 的实例。
- 如果该端点引用表示有状态会话 Bean 的高可用性,那么即使对该有状态会话 Bean 故障转移到另一台服务器,该端点引用依然有效。
如果端点引用所寻址的代理是 IBM WebSphere Application ServerV 6.1 或更高版本的代理服务器,并且该代理存在于与该端点相同的管理单元中,那么基于集群,以工作负载管理的端点引用为目标的消息是工作负载管理的。
HTTP 服务器,如 IBM HTTP Server
当端点引用引用以下服务使用此拓扑:在工作负载管理的集群中部署的服务以及不访问位于特定服务器中的任何有状态信息的服务。

请勿在此拓扑中部署代表有状态会话 Bean 的端点引用,因为 HTTP 服务器不会保留与该有状态会话 Bean 的亲和性,并会将其请求分散到可用的服务器上。
要保持有状态会话 bean 亲和性以及通过使用 IBM 专有 API 创建的端点引用的高可用性,请在 IBM 服务器之外使用 代理服务器。 WebSphere Application ServerHTTP 的代理服务器,如下拓扑所示。
HTTP 服务器与代理服务器的 IBM WebSphere Application Server
当端点引用引用以下服务时使用此拓扑:在工作负载管理的集群中部署的服务、(可选)访问位于特定服务器中的有状态信息的服务和(可选)在高可用配置中可故障转移的服务。 拓扑结构与 IBM 的代理服务器类似,但支持使用任何 服务器作为外部反向代理。 WebSphere Application Server 拓扑,但支持使用任何 HTTP 服务器作为外部反向代理。
在此拓扑中,WS-Addressing API 根据为目标 Web Service 模块配置的 HTTP 服务器的 URL 前缀自动生成适当的端点引用地址。 必须提供 HTTP 端点 URL 信息,即为每个应用程序的每次部署配置 HTTP URL 前缀。

- 如果此端点引用表示有状态会话 bean,以端点引用为对象的请求将亲缘关系保留到该服务器和该有状态会话 Bean 的实例。
- 如果该端点引用表示有状态会话 Bean 的高可用性,那么即使对该有状态会话 Bean 故障转移到另一台服务器,该端点引用依然有效。
如果端点引用所寻址的代理是 Proxy Server for IBM WebSphere Application ServerV 6.1 或更高版本,并且与端点存在于同一管理单元中,那么基于集群,以工作负载管理的端点引用为目标的消息是工作负载管理的消息。