实现资源、事件和管理的聚合 Web 服务标准

 

2006 年 3 月 15 日

版本 1.0

Authors

Kevin Cline,Intel
Josh Cohen, Microsoft
道格·戴维斯,IBM
唐纳德·弗格森,IBM
Heather Kreger,IBM
Raymond McCollum,Microsoft
Bryan Murray, HP
伊恩·罗宾逊,IBM
Jeffrey Schlimmer,Microsoft
John Shewchuk,Microsoft
Vijay Tewari, Intel
William Vambenepe, HP

简介

HP、IBM、Intel 和 Microsoft 计划开发一组通用的资源、事件和管理规范,这些规范可在多个平台上得到广泛支持。 双方将通过构建现有规范并定义一组可实现这种融合的增强功能来实现这一点。 在许多情况下,使用 Web 服务构建解决方案的供应商和客户会发现现有规范支持其方案。 当需要通用功能时,供应商和客户可以使用新的规范和功能。

我们介绍的常见功能包括:

  • 资源:使用 Web 服务创建、读取、更新和删除信息的功能。
  • 事件:能够使用基于发布和订阅的事件驱动体系结构将 Web 服务连接在一起。
  • 管理:提供 Web 服务模型,用于构建系统和应用程序管理解决方案,侧重于资源管理。

此外,通用的可互操作规范集合旨在使组织可以轻松扩展规范以涵盖其他高级方案。

目前,有许多规范为资源、事件和管理提供 Web 服务功能。 下面是一些示例:

  • WS-Transfer
  • WS-Enumeration
  • WS-Eventing
  • WS-MetadataExchange
  • WS-ResourceFramework
    • WS-Resource
    • WS-ResourceProperties
    • WS-ResourceLifetime
    • WS-ServiceGroup
    • WS-BaseFaults
  • WS-Notification
    • WS-BaseNotification
    • WS-BrokeredNotification
    • WS-Topics
  • WS-Management
  • Web 服务分布式管理
    • 使用 Web 服务进行管理 (第 1 部分)
    • 使用 Web 服务进行管理 (第 2 部分)
    • Web 服务管理

HP、IBM、Intel 和 Microsoft 在开发人员工具包和产品中提供了其中许多规范的实现。 这些实现为进一步演变和优化提供了有价值的反馈。 客户和用户体验还演示了需要以增量方式聚合这些规范,以提供通用核心函数的单一定义。 许多规范已经是标准,其他规范是最近提交的。 实现融合将简化互操作性、解决方案开发以及标准化一组新的通用规范的过程。

本文概述了趋同和动机。 它首先将问题分解为两个主要构建基块: () 信息管理,以及 (b) 事件和通知。 然后介绍这些块如何为 Web 服务管理构建可组合的基础。 在这三个部分中,本文都对相关规范及其与现有规范的关系提供了非常简短的技术概述。 本文中的详细信息代表了我们当前的最佳思路,在规范发布之前可能会有所演变。

与之前的路线图工作一致,作者预计规范将在未来 18-24 个月内发布和完善。 本路线图中确定的某些规范最早将于 2006 年 2 月发布。 规范将使用 WS-* 研讨会流程进行优化,并在确保适当质量时,按照该过程提交到标准组织。

本白皮书描述了合著者对当前规范的技术演变的预期。 虽然产品的未来版本将支持这些规范,但可以从各自的公司代表处获取有关特定产品可交付结果的信息。

读者应参考实际规格了解技术详细信息。

信息管理

概述

HP、IBM、Intel 和 Microsoft 正在创作两个新规范 (WS-Transfer 附录、WS-ResourceTransfer) ,以及新版现有规范 (WS-MetadataExchange) 。 这些规范在 WS-Transfer 和 WS 枚举上分层并组合,HP、IBM、Intel 和 Microsoft 将支持这些规范。

WS-Transfer Addendum (新) 通过定义可选的 Get'、Put 和 Create'消息(可修改现有 Get、Put 和 Create)来扩展 WS-Transfer (2004 年 9 月) 。 删除WS-Transfer消息没有更改。 Get'、Put 和 Create' 的可选扩展允许消息正文元素指定资源的子集或传达特定于资源的处理指令。 body 元素的方言特定于资源,由WS-Transfer附录上分层的规范定义。 一个明显的方言示例是 XPath。 在此示例中,如果资源的表示形式是大型 XML 文档,则 Get 中的 XPath 表达式将选择该文档的子集。 同样,Put 的正文可以指定要更新的文档子集。 GetResponse 的消息具有类似的更改。

WS-Transfer附录扩展了 Put 和 Create 的响应,因此它们可能包含更新/新资源的WS-Addressing终结点引用 (EPR) 。 与请求消息一样,所有三个响应消息 (GetResponse'、PutResponse'、CreateResponse') 的正文都未定义,以便后续扩展规范可以定义特定于资源的传输机制,包括部分传输机制。

所有三个更新的操作都具有新的WS-Addressing操作 URI。 使用新的 URI 可确保与 WS-Transfer 向后兼容。

WS-Transfer附录支持更改WS-MetadataExchange,以便更好地与 WS-Transfer 集成。 因此,IBM 和 Microsoft 正在重新发布WS-Metadata Exchange 版本 1.1 (新) 。 从本质上讲,资源/服务元数据只是使用 Get 检索的另一个资源。

新的 WS-MetadataExchange:

  • 将 Get 消息更改为改为引用 Get in WS-Transfer (Sep 2004) 。
  • 定义 mex:Metadata 元素在 EPR 中的用法。 这提供了一种可互操作的方式来传达 EPR 的元数据。

为了向后兼容,mex:Metadata 元素将保留为“;”https://schemas.xmlsoap.org/ws/2004/09/mex"的默认绑定和 XML 命名空间。

根据上述工作,HP、IBM、Intel 和 Microsoft 正在联合开发一种称为 WS-ResourceTransfer (WS-RT 的新规范,新) 。 WS-ResourceTransfer (WS-RT,WS-Transfer (2004 年 9 月) 的新) 引用、WS-Transfer附录 (新) 、2004 年 9 月) WS-Enumeration (,WS-MetadataExchange版本 1.1 (新) 。 WS-ResourceTransfer添加了 WS-ResourceFramework 中的一些更高级的概念。

WS-RT (新的) 定义 Create'、Get'和 Put' 的正文元素,这些元素支持创建、检索和更新资源的部分元素。 支持访问资源状态的子元素有很多动机。 一些示例包括

  • 提高了性能 - 资源的状态可能非常大,而请求者只需要子元素。
  • 允许部分更新可消除由于更新整个文档而导致的不必要的副作用。 例如,更新整个目录条目可能会重置密码生存期计时器,而只是更新电子邮件地址则不会。

WS-RT (新的) 预定义了两个正文元素方言:XPath 和通过 QName 标识子元素。 这两种方法等效于WS-ResourceProperties定义的函数。 定义这些方言会利用WS-TransferAddendum具体中的 body 元素。 具体方言还包含对 Get'、Put'和 Create'的支持,这些支持传入资源的多个子元素引用。 同样,多 Put 和 Get 通过避免获取/放置整个文档,并避免对 get/put 子元素进行多次网络调用来提高性能。

Get 返回多个子元素,Create'和 Put'分别传递多个值以初始化和更新。 同样,这些函数等效于WS-ResourceProperties定义的功能。

此外,WS-RT (新的) 定义

  • 可选的资源生存期。 生存期指定何时自动删除资源。 这支持资源的某些模型,例如事件订阅。
  • 生存期元数据格式和关联的WS-MetadataExchange方言,支持在资源的元数据中包含支持的生存期模型。
  • 用于处理创建请求中包含的生存期元数据的语义。
  • 资源 EPR 如何包括 mex:Metadata 元素,以及其中的资源元数据的 EPR。 这允许像检索和/或更新资源数据的任何其他元素一样检索和/或更新元数据,包括对部分访问的支持。

与现有规范的关系

图 1. 与现有规范的关系

图 1 概述了新规范之间的关系。 (着色块表示共同商定的规范。)

WS-Transfer 和 WS 枚举没有更改。 WS-Transfer附录扩展了WS-Transfer,需要向后兼容。 在 WS-Transfer 附录上WS-ResourceTransfer层和组合,为基本规范中的泛型表达式定义具体的语法和语义。 WS-ResourceTransfer为 WS-ResourceFramework 的许多功能提供映射。 其中包括支持访问和更新资源的部分元素、将元数据与资源状态模型集成以及资源的生存期模型。 WS-ResourceFramework的其他功能将基于下面标识的规范和其他最终规范。

HP、IBM、Intel 和 Microsoft 打算在未来的产品中支持 WS-Transfer、WS-Enumeration、WS-TransferAddendum、WS-MetadataExchange和WS-ResourceTransfer规范。

IBM 和其他公司将继续支持 WS-ResourceFramework。 IBM 和合作伙伴将在标准机构中工作,重新分解WS-ResourceFramework,以明确划分 WS-ResourceTransfer 之外的扩展。 如果需要这些函数,程序员可以使用这些扩展。

Microsoft 和其他公司将继续支持 WS-Transfer、WS-Enumeration。

程序员可以从 WS-Transfer、WS-Transfer Addendum、WS-Enumeration、WS-MetadataExchange 开始。 支持这些规范的 Microsoft 和合作伙伴将继续提供此支持。 程序员可以使用 WS-ResourceFramework 的现有实现和版本。 支持此规范的 IBM 和合作伙伴将确保与新规范的互操作性。

事件和通知

概述

HP、IBM、Intel 和 Microsoft 正在定义一个规范,该规范将 WS-Notification 中的函数与 WS-Eventing 集成。 新规范 WS-EventNotification、层和组合使用 WS-Eventing。 WS-EventNotification引入了WS-Notification支持的五项功能。 它们是:

  1. 订阅策略 - WS-Eventing和WS-Notification引入了订阅事件的资源/服务的概念。 不同的服务/资源可能采用不同的方法来实现订阅和通知。 订阅者可能希望对订阅设置不同的要求或指令。 WS-EventNotification定义允许资源/服务描述其订阅和订阅管理方法的具体策略,并允许订阅服务器指定事件源的指令。 这允许扩展其他规范可以使用的WS-EventNotification和功能说明。
  2. 更丰富的筛选器语言 - WS-Eventing引入了简单的筛选语言。 语言允许订阅者指定一个筛选器,用于描述订阅者希望接收哪些事件。 WS-EventNotification引入了更丰富的筛选器语言,该语言支持WS-Notification支持的函数。
  3. 包装通知 - WS-Eventing将事件描述为 WSDL portType 上的输出操作/消息。 输出消息对应于事件接收器上的输入消息/操作。 某些方案(尤其是基于现有发布/订阅系统构建的方案)需要包含事件数据的显式通知消息。 这是“已包装”通知。 事件的输出消息/操作包含在外部通知操作/消息中。 包装通知还提供用于接收通知的通用接口。 这允许定义可从任何通知器接收事件的订阅服务器。 不需要与事件发射器的输出操作匹配的操作。
  4. 订阅资源 – WS-EventNotification(如 WS-Notification)将订阅的状态视为 WS-ResourceTransfer 中的资源。 订阅可能有生存期,订阅者可以使用 Get'、Put'和 Delete 来读取或更新订阅的状态,例如更改筛选器或过期生存期。 这可以更好地将 WS-Eventing 中定义的概念与 WS-ResourceTransfer 和 WS-ResourceFramework 中的类似概念集成。
  5. 暂停订阅 – WS-EventNotification(如 WS-Notification)引入了“暂停”订阅的概念。 这允许暂时停止发送到特定订阅者的通知流。 确切的 QoS 属性(例如,是缓存新通知还是直接忽略)将由订阅策略控制。

与现有规范的关系

图 2. 与现有规范的关系

图 2 概述了事件和通知规范的关系。 WS-EventNotification是 WS-Eventing 的超集,支持向后兼容性。 新规范 (WS-EventNotification) 与WS-ResourceTransfer组成,以支持用于管理订阅的状态/资源模型。 WS-EventNotification 中未显式定义的WS-Notification的现有功能仍可以作为扩展在其消息模型和功能上分层。

Microsoft、IBM 和其他公司将继续支持 WS-Eventing,

HP、IBM、Intel 和 Microsoft 打算支持新的 WS-ResourceTransfer,并在将来的产品中WS-EventNotification规范。

IBM 和其他公司将继续支持 WS-Notification,并期望在标准方面发挥作用,以更好地将WS-Notification规范与 WS-ResourceTransfer 和 WS-EventNotification 集成。 程序员可以在必要时使用 WS-Notification 框架的更高级的函数。 IBM 和合作伙伴将确保使用 WS-Notification 的实现在具有 WS-EventNotification 和 WS-ResourceTransfer 的环境中工作。

Web 服务管理

概述

最后,在信息分发和事件通知领域的联合工作的基础上,HP、IBM、Intel 和 Microsoft 正在领导即将发布的通用 Web 服务管理规范的开发。 此新规范由WS-ResourceTransfer (新) 和WS-EventNotification (新) 组成。 WS-Management 与 Web 服务分布式管理之间的许多差异直接是由于 WS-Transfer 与 WS-ResourceFramework 之间的差异,以及 WS-Notification 与 WS-Eventing 之间的差异。 这些较低层规范的协调可实现正在进行的管理规范的收敛。

图 3 概述了新规范及其与现有规范的关系。 HP、IBM、Intel 和 Microsoft 正在开发一个新的规范,该规范提供核心管理功能的单一定义。

与现有规范的关系

图 3. 与现有规范的关系 (建议)

通过资源管理和事件/通知规范的对帐,可以协调管理规范的许多功能。 示例包括:

  • 操作托管资源的状态,包括子元素。
  • 管理事件和资源状态更改的通知。

新的管理规范集应包括对元数据的以下功能的支持,包括资源类型信息:

  • 启动发现过程
  • 发现服务和实现的符合性级别和功能
  • 发现和枚举资源类型以及关联的元数据
  • 对类型空间和关联元数据的读/写访问权限
  • 通过类型和元数据空间导航关系
  • 容纳一个只读类型和元数据空间,该空间可以承载于网站上的服务外部 () ,并在运行时适应实际服务
  • 启动实例和事件源的发现和枚举

除了WS-Transfer提供创建和删除资源的功能,以及WS-Resource提供对资源实例的读写访问权限的传输功能外,管理规范还将支持多个标准化数据模型,这些模型将定义:

  • 了解和解码实例之间的关系
  • 用于区分资源实例的常见机制
  • 事件的基本通用有效负载格式,用于互操作,同时不限制使用特定于平台的格式

跨异类系统的互操作性需要使用一个或多个标准化数据或事件模型。 其中一些格式可能由合力根据需要进行定义。

对于WS-Management和 WSDM 规范系列,可能会开发并持续存在这些规范的扩展。 但是,统一将产生一个大型公共核心,可支持监视、状态管理和资源配置。

关于当前规范的现有工作将继续到其计划的结论。 此路线图为正在处理的下一代规范和标准提供了愿景。 将为当今的规范定义迁移路径。 在现有解决方案的基础上,HP、IBM、Intel 和 Microsoft 将改进其解决方案,以随着这些规范的发展而纳入这些规范。

HP、IBM、Intel 和 Microsoft 打算在未来的产品中实施新的通用管理规范。

IBM 和合作伙伴将继续支持 WSDM。 目前实施 WSDM 的 IBM 和合作伙伴还将确保支持基于 WSDM 的现有实现。

Microsoft 和合作伙伴将继续支持 WS-Management。 目前实施WS-Management的 Microsoft 和合作伙伴还将确保支持基于 WS-Management 的现有实现。