WS-Notification 标准中的术语
本主题中定义的术语是由 WS-Notification 规范定义的,这些规范的任何供应商实现都使用这些术语。
本资料是从
WS-Notification 标准中摘录的,因此遵循以下版权协议:
Copyright © OASIS Open 2004-2006. All Rights Reserved.
可能将本文档及其翻译复制或提供给他人,也可能通过任何形式来准备、复制、发布和分发用于评价或说明本文档或者有助于文档实现的衍生作品的整体或部分,条件是这类副本和衍生作品必须包含上述版权声明和本段。但是,不应对本文档进行任何修改,例如,移除版权声明或对 OASIS 的引用,但出于开发 OASIS 规范目的时可以例外,这种情况下必须遵循 OASIS 知识产权文档中定义的版权中的步骤,或根据要求将它翻译为英语以外的其他语言版本。
下列术语是在 WS-BaseNotification V1.3 OASIS 标准中定义的:
- 情况:
- “情况”是“通知生产者”已知并且第三方会关心的一些情况。
- “情况”可能是资源内部状态的更改,也可能与环境有关,如定时器事件。“情况”也可能是外部事件,例如由新闻订阅服务提供的新闻。
- WS-Notification 未指定“情况”是什么或者不是什么,它也未定义“情况”与用来对其进行描述的“通知”之间的关系。
- 通知:
- “通知”是“情况”的工件,它包含有关该“情况”的信息,某个实体可以将这些信息传递给其他实体。
- “通知”通过名称空间限定的 QName 和使用 XML 模式定义的类型表示为 XML 元素。
- 典型的使用模式是:为每一类“情况”定义一种“通知”类型(确切而言,就是定义 XML 元素)并使其包含有关该类“情况”的信息;在这种情况下,可以将该“通知”实例视为在某种意义上就是该“情况”(或者至少代表该“情况”)。
- 设计者可以选择使多种不同的“通知”类型与一种“情况”相关联,例如,用于描述“情况”的不同方面或者用于不同的目标接收方。反过来,也可以使几种完全不相同的“情况”产生同一类型的“通知”。
- 通知生产者:
- “通知生产者”是一个 Web Service,它实现了与“通知生产者”接口相关联的消息交换。
- 根据出现的“情况”以及随从中创建“预订”的请求提供的参数,“通知生产者”能够为向其注册“预订”的“通知使用者”产生“通知”。
- 实现与“通知生产者”相关联的消息交换的 Web Service 可能自己直接生成“通知”,也可能是“通知代理”,从而重新生成由不同“发布者”和/或“通知生产者”实体生成的“通知”。
- 它是预订资源的工厂。
- 通知使用者:
- “通知使用者”是 WS-Addressing 端点引用表示的端点,旨在接收“通知生产者”因为预订而生产的“通知”。
- “通知使用者”可接受通用“通知”消息,也可处理一种或多种特定于域的“通知”类型。
- 预订:
- “预订”表示“通知使用者”与“通知生产者”之间的关系,包括主题以及各种其他可选过滤器表达式之类的任何过滤参数、任何相关策略和上下文信息之间的关系。
- “预订”资源是在订户将“预订请求”消息发送至通知生产者时创建的。
- “预订”资源由发送到该“预订”资源的相关联“预订管理器”Web Service 的消息处理。
- 预订管理器
- “预订管理器”是一个端点,由实现与“预订管理器”接口相关联的消息交换的端点引用 [WS-Addressing] 表示。
- “预订管理器”提供一些操作,这些操作允许服务请求者查询和处理它管理的“预订”资源。
- “预订管理器”是“通知生产者”的下级,可由“通知生产者”服务提供程序或单独的服务提供程序实现。
- 订户:
- “订户”是将“预订请求”消息发送至“通知生产者”的任意实体。
- 请注意,“订户”与对其生产“通知”的“通知使用者”可能是不同实体。
下列术语是在 WS-Topics V1.3 OASIS 标准中定义的:
- 主题:
- “主题”是一个概念,它用来对通知及其相关“通知”模式进行分类。
- 在确定哪些(如果有的话)预订“通知使用者”应该接收“通知”的匹配过程中,将使用“主题”。
- 它生成“通知”时,“发布者”可将其与一个或多个“主题”相关联。WS-Notification 未指定“情况”(按 [WS-BaseNotification] 中的定义)与“主题”之间的关系,但“主题名称空间”的设计者可以指定此关系。
- 在某些其他发布/预订模型中,使用的同义词是“主题”(subject)。
- 主题空间:
- 为了进行管理而分组到同一名称空间中的主题树的森林。
- 主题树:
- 主题的层次分组。
- 主题集:
- “通知生产者”支持“主题”集合。
下列术语是在 WS-BrokeredNotification V1.3 OASIS 标准中定义的:
- 发布者:
- “发布者”是一个实体,它根据能够检测到并转换为“通知”工件的“情况”来创建“通知”。它不必是 Web Service。
- “发布者”可注册它想要使用“通知代理”发布的主题。
- “发布者”可以是实现与“通知生产者”接口相关联的消息交换的 Web Service,在这种情况下,它还将“通知”分发到相关“通知使用者”。
- 如果发布者未实现与通知生产者相关联的消息交换,它就不需要支持预订请求消息,并且不必了解对其进行预订的通知使用者;通知代理将代替它完成这些操作。
- 通知代理:
- “通知代理”是一个中间 Web Service,它使“通知使用者”不再与“发布者”对应。“通知代理”能够代表“通知使用者”或为了消息传递管理而预订通知。可代表“发布者”将通知传播至“通知使用者”。
- “通知代理”会聚集“通知生产者”、“通知使用者”和“注册发布者”接口。
- 作为中介,“通知代理”对基本“通知生产者”接口提供其他功能:
- 它使发布者不必实现与通知生产者相关联的消息交换;通知代理代表发布者完成预订管理器(管理预订)和通知生产者(分发通知消息)的任务。
- 当存在许多发布者和许多通知使用者时,它可以减少服务间的连接和引用数。
- 它可以充当查找者服务。通过使用公共的通知代理,潜在的发布者和订户可以有效地发现对方。
- 它可以提供匿名“通知”,因此“发布者”和“通知使用者”不需要了解对方的标识。
- “通知代理”的实现可以提供其他超出此规范范围的附加值功能,例如,记录“通知”或变换“主题”和/或“通知”内容。“通知代理”提供的附加功能可以应用于所有使用该通知代理的发布者。
- 它可以是“预订”资源的工厂或将预订工厂转交给另一组件负责。
- “通知代理”提供发布者注册功能。
- “通知代理”可在 WS-Notification 与其他发布/预订系统之间建立网桥。
- 发布者注册:
- “发布者注册”是一种资源。“发布者注册”表示“发布者”与“通知代理”之间的关系,特别是表示允许发布者发布至哪些主题。
- “发布者注册”资源是在“发布者”将“注册发布者”请求消息发送至“通知代理”时创建的,并且“通知代理”会继续处理注册。
- “发布者注册”资源可以由发送到“发布者注册管理器”Web Service 的消息处理。
- 注册发布者:
- “注册发布者”是一个 Web Service,它实现与“注册发布者”接口相关联的消息交换。“发布者注册”资源是因为“注册发布者”对“通知代理”的请求而创建的。
- 发布者注册管理器:
- “发布者注册管理器”是一个 Web Service,它实现与“发布者注册管理器”接口相关联的消息交换。
- “发布者注册”资源可通过“发布者注册管理器”消息交换进行处理。
- “发布者注册管理器”提供的服务使服务请求者能够查询和处理它管理的“发布者注册”资源。
- “发布者注册管理器”是“通知代理”的下级,可由“通知代理”服务提供程序或单独的服务提供程序实现。
- 按需发布:
- 某些“发布者”可能想要知道他们是否有任何“订户”,原因是生产“通知”这一过程可能成本很高。这些“发布者”可以向“通知代理”注册为“按需发布者”。
- “按需发布者”实现与“通知生产者”接口相关联的消息交换。
- “通知代理”预订“按需发布者”。当“通知代理”知道没有任何“订户”预订“按需发布者”的“通知”时,它就会暂停对该“发布者”的预订;当它知道有一些“订户”时,它就会恢复“预订”。
- 这样,“按需发布者”就不必在没有“订户”时产生消息。但是,由于“按需发布者”对于任何给定“主题”只需要支持单个“订户”,因此,可以把对多个“订户”的管理工作、面向多个“通知使用者”的传递工作以及其他相关问题(例如安全性问题)转交给“通知代理”完成。
以下术语虽然是从 WS-Notification 规范派生的,但却未直接采用该规范中的文字进行描述:
- 拉出点:
- 在某些情况下,基本的“推送样式”通知消息传送方式是不合适的。例如,某些通知使用者在防火墙背后,因此通知生产者无法启动消息交换来发送通知。对于无法或不愿意提供端点来作为通知生产者的通知消息发送目标的通知使用者来说,情况也类似。在其他情况下,“通知使用者”希望对“通知消息”的接收时间进行控制,而不是按无法预测的时间间隔接收通知消息,它可能希望在自己选择的时间“拉出”或“检索”通知消息。
- 因此,Web Services Base Notification 规范定义了一对端口类型:“拉出点”接口和“创建拉出点”接口。其中,“拉出点”接口定义用于累积通知消息并允许请求者检索已累积的通知消息的端点,“创建拉出点”接口充当拉出点资源的工厂。
- 预期的使用模式是:订户或其他对象通过工厂接口创建拉出点,然后在一个或多个预订请求中将其用作使用者引用。然后,使用者从“拉出点”拉出通知。