追溯 2006 年,几个规范被提交给了W3C ,其中包括 WS-Eventing 和 WS-Transfer ,但却一直未能成为标准。其间出现了好几个对这些规范的实现,但却没有明显的迹象表明要将其标准化。当然这并不会阻止其他人推进与之竞争的标准,比如 WS-Notification 。随着 Web 服务当中相互竞争的标准之间关系越来越紧密(例如,可靠消息传输 以及 事务),有些事情似乎将不可避免的发生。当前W3C 宣布了成立了 Web 服务资源访问工作组。如其章程所说:
作为 Web 服务活动的一部分, Web 服务资源访问工作组的任务就是通过对 WS-Transfer , WS-ResourceTransfer , WS-Enumeration , WS-MetadataExchange 以及 WS-Eventing 等等成员提交案(在本章程中代指为“提交规范”)的进一步优化,处理各规范中还存在的一些问题,吸纳来自实现者的实现经验和关于互操作性的反馈,以及综合考虑与其它一些 Web 服务标准的组合,来制定对一系列 Web 服务规范的 W3C 推荐方案。
对于其它内容重叠的标准或规范则未曾提及。对此不了解的同志(也因为标准工作大多都是模板文件),这里有一份对于预期目标的概览:
针对与面向资源的 Web 服务背后的 XML 表示进行交互、访问与该服务相关的元数据,以及订阅与该资源相关的事件,该提交规范定义了基于 SOAP 的机制。 WS-Transfer 定义了对于面向资源的 Web 服务数据的创建 (Create),读取 (Read),更新 (Update),删除 (Delete) 等基本操作。 WS-ResourceTransfer 通过 WS-Transfer 里的扩展点强化了这些操作,增加了对片断和批处理的访问。 WS-Enumeration 提供了一个协议来支持为资源提供一个上下文,所谓的枚举上下文(enumeration context),在顺序的数据条目里为消费者展现一个逻辑游标。 WS-Eventing 允许利益相关方对一个面向资源的 Web 服务订阅一系列的通知。 WS-MetadataExchange 定义了重定向Web 服务元数据的相关机制。当结合使用 WS-Transfer , WS-ResourceTransfer 以及 WS-Enumeration 时,这一元数据的访问和管理与其它的 Web 服务资源没有区别。
当然无法保证这一工作能够一帆风顺。来自 Oracle 的 William Vambenepe 指出:
对这一工作最明显的潜在阻拦就在于其令人置疑的重复的基于 SOAP 架构方式,这本可以通过简单的 HTTP 来达到。
他还提到了另几个人们可能对这一工作产生的疑问,并总结到:
因此我对于 WS-RAWG 的疑问不在于基础性的架构问题,也不在于 WS-RT 现有版本的缺憾之处。它们是可以被修补的并且当前的替补规范也并非什么选美冠军。相反,我的疑虑更多的是在于其对互操作性的影响。
William服务于HP 时曾参与过WS-ResourceTransfer 的工作。如他所述,当时HP,IBM,Microsoft 等等多方都曾参与到统一WS-Management 和WSDM/WSRF 规范簇的计划中来(可别忘了 WS-RF 自诞生之日就争议不断)。但据 William 的说法,其最后的通告意味着……
[……] 四家公司中的三家作出了放弃,也不再有什么意见的交汇了。这一工作不但没减少开发者不得不面对的冲突选项的数量 (这种选择的结果常常是 “我两个都不会选[因为]毫无共识可言,我将按我的方式来做”),相反还将其增加了。另一候选,WS-Management 并不会就此消失,同时 W3C WS-RT 很有可能与其越来越背道而弛。
显然这一新的标准工作还处在非常早期的阶段,但缺乏对互操作性强调的做法会对最终产生的标准的采纳带来巨大的连锁反应吗?
评论