WS-ReliableMessaging:受支持的规范与标准
WebSphere® Application Server 提供支持两个级别的 WS-ReliableMessaging 规范。因此,这使得既与提供 2005 年 2 月级别的 WS-ReliableMessaging 支持的客户保持兼容,同时又满足当前 OASIS 规范的要求。此 WS-ReliableMessaging 实现还符合许多其他的 Web Service 标准。
对 WS-ReliableMessaging 标准的支持首先是作为 IBM WebSphere Application Server V6.1 Feature Pack for Web Services 的一部分引入的。在那个时候,Reliable Asynchronous Messaging Profile (RAMP) V1.0 规范使用 WS-ReliableMessaging 来确保消息的可靠传递,而 WebSphere Application Server V6.1 中的 Feature Pack for Web Services 包括支持此规范的缺省策略集。您可以将使用基于 RAMP 的策略集的 WebSphere Application Server V6.1 WS-ReliableMessaging 配置迁移至该产品的当前版本。
接下来从 RAMP V1.0 规范开始,Web Service 互操作性组织 (WS-I) 可靠且安全的概要文件工作组开发了互操作性概要文件的 V1.0 来处理 Web Service 的安全且可靠的消息传递功能。此概要文件与 RAMP V1.0 类似,只是前者更新为将 WS-ReliableMessaging V1.1 与 OASIS WS-SecureConversation V1.3 规范一起使用。在此版本的 WebSphere Application Server 中提供的 WS-I RSP 缺省策略集是“可靠且安全的概要文件 V1.0”规范的实现。
下列各节中描述了 WS-ReliableMessaging 符合其他 Web Service 标准的程度:
WS-Addressing
WS-ReliableMessaging 规范使用 WS-Addressing,并且该实现完全支持 WS-Addressing 规范中提出的异步请求和应答模型。
WS-AtomicTransactions
- 当 WS-ReliableMessaging 与受管库配合使用以提供事务可恢复消息传递时,WS-AtomicTransactions 和 WS-ReliableMessaging 互斥。
- 如果 WS-ReliableMessaging 配置为使用内存中库,那么存在一些情况,其中 WS-AtomicTransaction 可以在可靠消息传递源与可靠消息传递目标之间流动,以便进行双向调用。在此情况下,WS-ReliableMessaging 仅防止网络故障,但不防止服务器故障。
有关 WS-AtomicTransactions 的更多信息,请参阅 WebSphere Application Server Application Server 中的事务支持。有关使用 WS-ReliableMessaging 事务的更多信息,请参阅通过 WS-ReliableMessaging 提供事务性可恢复消息传递。
WS-MakeConnection
WS-ReliableMessaging V1.1 使用 WS-MakeConnection 协议来启用同步消息交换。有关此协议的更多信息,请参阅 WS-MakeConnection 规范 V1.1,2008 年 2 月 28 日。
WS-MakeConnection 使用 WS-Addressing 消息头中包含的信息,因此,对于任何使用了可靠同步消息交换功能的应用程序,必须在策略集中同时包括 WS-ReliableMessaging 和 WS-Addressing 策略。
WS-Notification
如果您创建了基于 JAX-WS 的 WS-Notification 服务,您可以将 WS-ReliableMessaging 策略应用于这些服务以使您的 WS-Notification 服务可靠。有关更多信息,请参阅 配置 WS-Notification 以获取可靠通知。
- V7.0:如果要构造具有 WS-ReliableMessaging 的 JAX-WS WS-Notification 服务,或者要将 JAX-WS 处理程序应用于 WS-Notification 服务,请配置 V7.0 WS-Notification 服务和服务点。对于新部署,这是建议的服务类型。
- V6.1:如果要使用 WebSphere Application Server V6.1 中提供的同一技术(其中包括将 JAX-RPC 处理程序应用到服务的功能)来显示 JAX-RPC WS-Notification 服务,请配置 V6.1 WS-Notification 服务和服务点。
WS-Policy
WebSphere Application Server 中的 WS-Policy 实现支持 Web Services Reliable Messaging Policy Assertion V1.0 和 Web Services Reliable Messaging Policy Assertion V1.1。
您可以使用 WS-Policy 协议以标准格式交换策略。可以将策略配置传送到任何其他支持 WS-Policy 规范的客户机、服务注册表或服务,包括异构环境中的非 WebSphere Application Server 产品。对于服务提供程序,可以在发布的 WSDL 中共享策略配置。对于客户机而言,客户机可以采用标准 WS-PolicyAttachments 格式来获取服务提供程序的策略并使用此信息来建立可同时供该客户机和服务提供程序访问的配置。换句话说,可以根据客户机的服务提供程序所支持的策略来动态地配置客户机。
在任何阶段(即构建可靠 Web Service 应用程序或配置策略集之前或之后),您可以设置属性将端点配置为仅支持使用可靠消息传递的客户机。如果设置了 WS-Policy,那么此设置通过 WS-Policy 体现。
WS-SecureConversation
WS-ReliableMessaging 被设计为与 WS-SecureConversation 一起工作。建立了安全对话上下文,用来保护应用程序消息和 WS-ReliableMessaging 协议消息。
要使用 WS-SecureConversation,请创建或应用同时包括 WS-ReliableMessaging 和 WS-SecureConversation 的策略集。例如,任何一个 WS-I RSP 缺省策略集。
WS-Security
WS-ReliableMessaging 符合 WS-Security。必要时,会对追加至应用程序消息的 WS-ReliableMessaging 头签名。必要时,将对 WS-ReliableMessaging 协议消息进行签名和加密。
进行安全性处理与执行传输相隔的时间很短:在 Web Service 请求者处执行 WS-ReliableMessaging 处理之后,但是在 Web Service 提供程序处执行 WS-ReliableMessaging 处理之前。这就意味着并未对保存在 WS-ReliableMessaging 存储库中的消息进行签名和加密,因此,如果所使用的存储库是服务集成总线中的消息传递引擎,那么主要应该由管理员来保护该存储器。