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


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

![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
- 如果此端点引用表示有状态会话 bean,以端点引用为对象的请求将亲缘关系保留到该服务器和该有状态会话 Bean 的实例。
- 如果该端点引用表示有状态会话 Bean 的高可用性,那么即使对该有状态会话 Bean 故障转移到另一台服务器,该端点引用依然有效。
当通过端点引用寻址的代理是 Proxy Server for IBM
WebSphere Application Server V6.1 或更高版本并且与端点位于同一管理单元时,那么以工作负载管理的端点引用为目标的消息是基于集群的工作负载管理的消息。
HTTP 服务器(例如 IBM HTTP Server)
当端点引用引用以下服务使用此拓扑:在工作负载管理的集群中部署的服务以及不访问位于特定服务器中的任何有状态信息的服务。

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

![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
- 如果此端点引用表示有状态会话 bean,以端点引用为对象的请求将亲缘关系保留到该服务器和该有状态会话 Bean 的实例。
- 如果该端点引用表示有状态会话 Bean 的高可用性,那么即使对该有状态会话 Bean 故障转移到另一台服务器,该端点引用依然有效。
当通过端点引用寻址的代理是 Proxy Server for IBM
WebSphere Application Server V6.1 或更高版本并且与端点位于同一管理单元时,那么以工作负载管理的端点引用为目标的消息是基于集群的工作负载管理的消息。