WS-Notification:概述
WS-Notification 使 Web Service 能够使用发布和预订消息传递模式。
WS-Notification 在 WebSphere® Application Server V8.5.5 中成为一项稳定功能。
您使用发布/预订消息传递将一条消息发布至多个订户。在此模式中,生产应用程序将消息(事件通知)插入(发布)到消息传递系统,并通过指示消息主题区域的主题对该消息作标记。已预订相关主题并具有适当权限的消费应用程序全都会接收到生产应用程序所发布的消息的独立副本。 通过使用基于消息体的 XML 消息内容求值的消息内容过滤器,所有消费应用程序都可进一步过滤给定主题的消息。
WebSphere Application Server 中的 WS-Notification 实现支持 WS-Notification 标准、符合 WS-I Basic Profile 1.0 的要求并与其他相关标准(例如用于高可用性和工作负载管理的 WS-Addressing 以及确保在组件之间进行可靠通信的 WS-ReliableMessaging)一致。 在应用程序级,这为 Web Service 应用程序提供了一种标准化的方法来参与发布和预订消息传递模式,而无论是侦听特定事件的发生通知还是将事件通知插入到系统中以供其他应用程序或系统管理工具使用。 这个 Web Service 规范的开放标准性质意味着,应用程序可以相互通信,而与底层硬件平台、软件语言或供应商环境无关。
WS-Notification 标准
WebSphere Application Server 实现在结构信息标准化促进组织 (OASIS) 监管下开发的 WS-Notification V1.3 系列标准。这些标准定义 Web Service 消息交换,这些交换允许 Web Service 应用程序使用发布/预订消息传递模式。
- WS-BaseNotification V1.3 OASIS 标准,它定义基本生产者/使用者应用程序角色,并通过选择器表达式过滤消息内容。
- WS-BrokeredNotification V1.3 OASIS 标准,它扩展基本通知以定义代理角色。
- WS-Topics V1.3 OASIS 标准,它定义可由基本通知或代理通知的实现者使用的主题语法。
- WS-ReliableMessaging 允许配置 Web Service 端点以确保通过固有的非可靠传输(如 HTTP)以可靠方式调用 Web Service 操作。WS-Notification 标准不能保证应用程序发布或接收消息的可靠性,所以必须将 WS-Notification 与 WS-ReliableMessaging 组合到一起以提供可靠性。
- WS-Distributed Management (WS-DM) 定义一些充当 WS-Notification NotificationProducers 的专业化应用程序,以及一个描述这些应用程序应对其发出事件通知(以允许 Web Service 客户机管理资源,如打印机)的主题的主题名称空间文档。
另请参阅WS-Notification 术语。
WebSphere Application Server 中的 WS-Notification 实现
此实现的关键组件是通知代理。这是要将事件通知插入到系统中的生产应用程序与希望接收事件通知的消费应用程序之间的分隔点。WebSphere Application Server 提供此代理以供使用,以便应用程序可将重点放在发送和接收事件的业务级别功能要求上而不必实现 WS-Notification 规范的较复杂基础结构方面,如维护活动订户的列表、对主题和通配符进行解析和匹配、将事件通知分发至订户以及处理预订生命周期。生产业务应用程序与消费业务应用程序之间的分隔意味着生产者应用程序与使用者应用程序不需要同时可用就可以进行相互通信。代理会将发布保留到使用者可用为止。
- Web Service 应用程序通过使用 WS-Notification 服务点公开的 Web Service 端点与服务器联系。
- 端点将此调用请求传递到通知代理,通知代理负责解析请求信息并根据所接收的请求的类型执行适当的操作。
下图显示了一个包含通知代理和消息传递引擎的应用程序服务器。在消息传递引擎中,有一个持久预订和总线主题空间。在应用程序服务器与外界之间有一个 Web Service 端点。在外界,存在一个发布者、订户和通知使用者。发布者发送有关所给定主题的通知消息,订户代表通知使用者发送预订请求以预订同一主题。Web Service 端点将接收这些消息,接着将它们传递到相关联的代理,然后传递到主题空间。预订的详细信息作为持久预订存档。代理将接收到的通知消息转发到已预订该主题的通知使用者。

- V7.0:如果要通过策略集来编写具有 Web Service 服务质量 (QoS) 的 JAX-WS WS-Notification 服务,或者如果要将 JAX-WS 头应用于 WS-Notification 服务,请使用此类型的服务。对于新部署,这是建议的服务类型。从 V7.0 起,此 WS-Notification 选项在 WebSphere Application Server 中可用。
- V6.1:如果要使用 WebSphere Application Server V6.1 中提供的相同技术(包括将 JAX-RPC 处理程序应用于服务的功能)来公开 JAX-RPC WS-Notification 服务,请使用此类型的服务。从 V6.1 起,此 WS-Notification 选项在 WebSphere Application Server 中可用。
- 通知代理
- 预订管理器
- 发布者注册管理器
- 通知代理
- 预订管理器
- 发布者注册管理器