Web Service 寻址:防火墙和中间节点

通过在本产品中使用 Web Service 寻址 (WS-Addressing) 支持,您可以创建端点引用,这些端点引用透过防火墙和中间节点分发。

使用 WS-Addressing 支持,您可以自动生成端点引用(它表示生成引用的节点上的端点)。根据为端点配置的 URL 以及主导该端点所在服务器的任何有效代理配置,这些端点引用包含相应的地址信息。从客户机发出的、以端点引用作为目标的消息将通过一个或多个相应的中间节点路由至端点,如下列拓扑方案中所述。

如果您使用 IBM 专属 API 来创建端点接口,那么系统的拓扑也会影响 WS-Addressing 编程模型生成的端点引用类型。 例如,如果使用 EndpointReferenceManager.createEndpointReference(QName serviceName, String endpointName) 方法在集群环境中创建端点引用,那么按照下面各部分中的相应拓扑,缺省情况下该端点引用将表示创建该端点所在的集群中工作负载管理的端点。因此,此行为将会增强应用程序的性能。
注: 如果请求的应用程序组件在事务中或 HTTP 会话中运行,那么亲缘关系约束可能适用于端点的工作负载管理。

[AIX Solaris HP-UX Linux Windows][IBM i]还可以使用 IBM 专属 API 来创建表示不应由工作负载管理的服务的端点引用(例如,因为该端点引用保持处于内存中状态)。使用有状态会话 Bean 的服务就是依赖于特定服务器实例的路由亲缘关系的服务示例。要创建对此类服务的端点引用,使用 EndpointReferenceManager.createEndpointReference(QName serviceName, String endpointName, java.rmi.Remote statefulSessionBean) 方法。

[AIX Solaris HP-UX Linux Windows][IBM i]如果启用有状态会话 Bean 的高可用性,并使用此方法创建端点引用,那么该端点引用将保持有效,即使该有状态会话 Bean 已进行故障转移(假设请求源于 WebSphere® Application Server 客户机 V6.1 或更高版本),或者已由同一管理单元中的 Proxy Server for IBM® WebSphere Application Server 进行路由,如以下拓扑方案中所述。

对于引用不访问位于特定服务器中的有状态信息的服务端点引用,以下所有拓扑方案都适用。

直接连接

将此拓扑用于非集群配置。

在此拓扑中,没有中间节点。客户机直接与主导目标端点所在的服务器进行通信。在此拓扑中,WS-Addressing API 根据为 Web Service 模块配置的 URL 自动生成适当的端点引用地址。下图说明了此方案。
Web Service 客户机将消息直接发送至主管目标端点的 WebSphere Application Server。
当使用 IBM 专有 API 创建的端点引用对工作负载管理的集群中部署的服务进行引用时,您也可以使用此拓扑。但是,仅当以端点引用为目标的客户机是 WebSphere Application Server V6.1 或更高版本的客户机并且与端点位于同一管理单元时,以端点引用为目标的消息才是工作负载管理的消息,如下图所示。
WebSphere Application Server 客户机使用其工作负载管理和高可用性路由逻辑将消息路由至 WebSphere Application Server 集群中的目标端点。客户机和服务器位于同一个管理单元中。

使用标准 JAX-WS API 创建的端点引用不是工作负载管理的端点引用。

Proxy Server for IBM WebSphere Application Server

当端点引用引用以下服务时使用此拓扑:在工作负载管理的集群中部署的服务、(可选)访问位于特定服务器中的有状态信息的服务和(可选)在高可用配置中可故障转移的服务。

在此拓扑中,WS-Addressing API 根据为目标 Web Service 模块配置的 Proxy Server for IBM WebSphere Application Server 的 URL 前缀自动生成适当的端点引用地址。必须提供 HTTP 端点 URL 信息,即为每个应用程序的每次部署配置 HTTP URL 前缀。客户机可存在于包含代理服务器和目标服务器的管理单元外部。客户机与代理服务器通信,而代理服务器将客户机请求动态路由至集群中的相应服务器。
Web Service 客户机穿过防火墙将消息发送到
Proxy Server for IBM WebSphere Application Server。然后,代理服务器使用其工作负载管理和高可用性路由逻辑将消息路由至集群中的服务器上的端点。代理服务器和目标服务器位于同一个管理单元中。
[AIX Solaris HP-UX Linux Windows][IBM i]当通过端点引用寻址的代理是 Proxy Server for IBM WebSphere Application Server V6.1 或更高版本并且与端点位于同一管理单元时,那么以工作负载管理的端点引用为目标的消息是基于集群的工作负载管理的消息。对于使用 IBM 专有 API 创建的端点引用,还会表现出以下行为:
  • 如果此端点引用表示有状态会话 bean,以端点引用为对象的请求将亲缘关系保留到该服务器和该有状态会话 Bean 的实例。
  • 如果该端点引用表示有状态会话 Bean 的高可用性,那么即使对该有状态会话 Bean 故障转移到另一台服务器,该端点引用依然有效。
使用标准 JAX-WS API 创建的端点引用不具有服务器亲缘关系或高可用性。

[z/OS]当通过端点引用寻址的代理是 Proxy Server for IBM WebSphere Application Server V6.1 或更高版本并且与端点位于同一管理单元时,那么以工作负载管理的端点引用为目标的消息是基于集群的工作负载管理的消息。

HTTP 服务器(例如 IBM HTTP Server)

当端点引用引用以下服务使用此拓扑:在工作负载管理的集群中部署的服务以及不访问位于特定服务器中的任何有状态信息的服务。

在此拓扑中,IBM WS-Addressing API 根据为目标 Web Service 模块配置的 HTTP 服务器的 URL 前缀自动生成适当的端点引用地址。必须提供 HTTP 端点 URL 信息,即为每个应用程序的每次部署配置 HTTP URL 前缀。客户机与 HTTP 服务器通信,而 HTTP 服务器根据 HTTP 服务器配置将客户机请求路由至特定服务器。
Web Service 客户机通过防火墙与非保护区中的 HTTP 服务器进行通信。HTTP 服务器的配置确定 WebSphere Application Server 中消息被发送到的位置。

[AIX Solaris HP-UX Linux Windows][IBM i]不要在此拓扑中部署表示有状态会话 Bean 的端点引用,因为 HTTP 服务器将不会保留与该有状态会话 Bean 的亲缘关系,并且会将其请求在可用的服务器之间传播。

[AIX Solaris HP-UX Linux Windows][IBM i]要保持使用 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 前缀。

客户机与 HTTP 服务器进行通信,您通过将来自插件的请求路由至代理服务器将该 HTTP 服务器配置为将客户机请求转发至 Proxy Server for IBM WebSphere Application Server。然后,该代理将请求动态传递至相应的服务器。
Web Service 客户机通过防火墙与非保护区中的 HTTP 服务器进行通信。HTTP 服务器将所有请求转发至 Proxy Server for IBM WebSphere Application
Server,后者动态地将那些请求路由至 WebSphere Application Server 集群中的正确服务器。代理服务器和目标服务器位于同一个管理单元中。
[AIX Solaris HP-UX Linux Windows][IBM i]当通过端点引用寻址的代理是 Proxy Server for IBM WebSphere Application Server V6.1 或更高版本并且与端点位于同一管理单元时,那么以工作负载管理的端点引用为目标的消息是基于集群的工作负载管理的消息。对于使用 IBM 专有 API 创建的端点引用,还会表现出以下行为:
  • 如果此端点引用表示有状态会话 bean,以端点引用为对象的请求将亲缘关系保留到该服务器和该有状态会话 Bean 的实例。
  • 如果该端点引用表示有状态会话 Bean 的高可用性,那么即使对该有状态会话 Bean 故障转移到另一台服务器,该端点引用依然有效。
使用标准 JAX-WS API 创建的端点引用不具有服务器亲缘关系或高可用性。

[z/OS]当通过端点引用寻址的代理是 Proxy Server for IBM WebSphere Application Server V6.1 或更高版本并且与端点位于同一管理单元时,那么以工作负载管理的端点引用为目标的消息是基于集群的工作负载管理的消息。


指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_wsa_eprs
文件名:cwbs_wsa_eprs.html