WS-Context 成为 OASIS 标准

阅读数:55 2007 年 4 月 12 日

话题:SOA架构

没有人投反对票,OASIS WS-Context规范已经被批准成为 OASIS 标准。WS-CAF 委员会一直将 WS-Context 放在 WS-CAF 规范集范畴下进行研究,WS-CAF 规范集还包括WS-CoordinationFramework 和 WS-TransactionManagement两个规范。尽管 WS-Context在它所定义的领域是唯一的,但它和后面两个规范还有 IBM 和微软支持的WS-TX委员会(创立于 WS-CAF 数年之后)研究的内容有重叠。因此,WS-CAF 组不太可能再诞生其它标准了。

这几年里针对WS-Context说法很多,最近一次就在W3C 关于 Web 服务的研讨会上它收到的好评占了绝大多数。总结起来,WS-Context 定义了一个基础(可扩展的)上下文结构(Context Structure),这个结构可以被关联到一个抽象行为(Activity)上:活动的生命周期就是上下文环境的生命周期。接着这个行为可以用来为 Session 建模:所有在活动中与面向 Session 的服务相作用的内部交互,都唯一而明确地通过上下文与这个行为绑定。更重要的是,这个上下文环境(因此也是 Session)不依赖于服务的端点引用(Endpoint Reference):同一个服务可以并发地被多个客户端或者服务在不同的 Session 范围中处理。因此,Session 的概念对于通讯通道和服务端点是松耦合的:Session 可以用于与服务进行短期协作,乃至于在多个服务中共享。延迟绑定(Late Binding)也意味着协议可以利用 WS-Context 来支持与固定服务端点定义关联的短周期或长周期 Session,就想适用于应用程序内部一样。

虽然看起来可能与 WS-Addressing 有重叠,但是二者之间的共荣多于竞争。可以帮它们的关系视为和传统 Web 中的 URI 和 Cookie 那样类似。如果能正确共同使用,在 Web 服务中实现松耦合且可扩展的有状态和无状态是可行的。如果不正确使用或者忽略的话,将会导致系统变得紧耦合并且很脆弱。WS-Context 是否会在不断发展的 Web 服务体系结构产生重大影响还有待观望。IBM 和微软没有参与的事实,毫无疑问将阻碍其发展和影响。