W3C 关于服务网络的研讨会报告

  • Stefan Tilkov
  • 宋玮

2007 年 6 月 23 日

话题:SOAREST语言 & 开发架构

二月份,W3C 组织了一场研讨会,内容是关于“企业计算的服务网络(Web of Services)”,会议专门就 Web 服务和 Web 标准迎合企业软件需求的适宜性进行了探讨,还包括用来改善企业支持的相关措施。InfoQ 随后报道了其中十分有趣的意见书 ;现在,汇总结果报告已经发布。

引述摘要:

研讨会的参与者建议,除了其他事项外,W3C 应当采取下列措施:

  • 通过 Web 服务核心工作组来维护 Web 服务规范,确保 Web 服务核心平台的稳定性,
  • 由 Web 和 Web 服务机制来推动共同利用资源
  • 帮助用户 / 垂直行业详细说明需求、用例、最佳实践指导及 SOA 架构模式

更有趣的一些引述还包括,承认“服务网络”缺少成功案例:

尽管文档网络(Web of documents)的成功超出了人们的想象,这很大程度归结于普遍采用了它所依赖的标准(HTML、HTTP、URI),但是服务网络没有获得同等的成功,尤其在企业中,它具有的巨大潜在效益。

报告也提到了 WS 相关内容:

许多没有利用 SOAP Web 服务的服务被部署到 Web 上,但是它们不足以满足综合的企业 IT 需求,尤其是安全领域。

作为 Web 和 Web 服务方式都有价值的观点:

研讨会上的讨论指出,各个组织正在从两个方法(Web 和 WS-*)中获利,至少有一个案例,同一个组织(Yahoo)说他们成功地在业务的不同领域使用了两个方法。

一个老生常谈的话题是 XML 数据绑定。Paul Downey 曾领导过一个数据绑定工作组(我们以前和他聊过这一点 ),他也参加了研讨会,并对有“这么多热爱数据绑定的工作组”感到高兴,报告支持了这一说法,但是也承认了问题:

W3C 数据绑定工作组开始帮助解决这一问题。它是由一个用户组织主持的,但是由于缺少厂商参与,WG 未能达到临界状态。研讨会期间,IBM 表示:因为微软没有加入,所以他们也不加入。其他厂商则说没有 IBM 和微软参与,很难给出在 WG 上投入时间和精力的正当理由。这是问题明显的例子。标准,尤其企业软件标准,对用户是有益的,但是厂商们有时有不一致的目标——抑制市场采用标准。

研讨会结束不久,WSO2 的 Jonathan Marsh(以前在微软)在blog 上发帖支持了这一观点:

WS-* 最大的痛处在于对 XML Schema 支持贫乏,招致数据绑定工作组可用的 XML Schema 模式不足。重新努力解决这一点是必不可少的。我确信 WSO2 能继续参与,或许甚者在这一重要领域开创我们的工作,我希望那些在微软表示不参与之后错误地放弃努力的其他厂商能重新评估他们的位置。

不这么做的后果是弱化 WS-* 描述方面的信心,而这正是我认为 WS-* 优于 REST 的主要优势。如果我们不能做的更好,我想 REST 和 REST 描述语言,如 WADL 将获得动力。这件事本身不是坏事,但是一些健康的竞争将保持架构在其价值上而非执行上进行竞争。

有关 Web 和 Web 服务历史的观点十分有趣:

Web 服务规范包含许多来自 Web 架构的概念,它最初被设计成可与 Web 技术良好协作。然而,Web 服务规范还包含与已有企业中间件技术,如 RPCs 和 MOMs,一起很好工作的概念和设计,而且 Web 服务实现也倾向于那些概念和设计,而非规范中的 Web 更加友好的部分。这可能是因为实现多是由已经拥有这些技术的厂商完成的。...... 另一方面,Web 应用可以使用原始的 XML 及编写 XML 处理代码与企业应用集成。这导致了最终的松耦合,并为可移植性和互操作性提供了更多的益处,但是它给开发者带来了更多处理抽象概念的负担。这种倾向也比较类似 Web 工作的方式。然而,正如 Yahoo 的出席者指出的,开发者经常反对额外的、涉及原始 XML 处理的工作,要求使用 Web 服务厂商所提供的代码生成工具来做这些事情。

作为重大挑战之一,报告指出了互操作性:

随着 WS-* 栈的增长和新规范完成其相关标准化过程的持续加速的努力,使跨越不同实现的所有事物一起工作的复杂性就更令人生畏了。

还有一个争论的话题是,REST 描述语言

尽管人们普遍认为 Web 服务需要大量的、超出包含于 WSDL 的描述,但值得注意的是尽管 RESTful 应用被定义为“自描述的”,也还需要额外的标注。这里的讨论指出了 WADL 的利害,并对“REST DL”提出了的类似意见。在许多情况下,两者都产生外部元数据:从单调的英语到结构化或非结构化数据,到更形式化 RDF 表达方法,但所有数据都参考使用了 URI。URI 标识的资源,包括服务描述,还提供了定义编制 / 编排(orchestration/choreography)行为的基础。这些工作赢得了很多趣关注:如使 WADL 更好理解将要完成什么及如何完成,而不是追求不成熟的标准。

还有许多其他需要被确定的需求:遗留系统与 Web 的互连性、服务描述、支持服务发现、版本标定、工作流、仲裁、HTTP 认证。

报告的结论:

在研讨会期间,这些十分不同的特点被勾画出来了,涉及到支持和维护一套让全世界范围对等团体使用的设计技术,涉及到维护一套能让层级划分、严格控制公司环境使用的技术。

防火墙内外通常仍是两个不同的世界。

当我们问Garther 的 Nick Gall一份更有争议性的意见书的作者 )在研讨会后的看法时,他回答:

我觉得这次研讨会的讨论表现出了真正的愿望以减小两个“web”(“http web”和“SOAP web”)之间的裂痕,但是也曝露了有大量的工作需要去做。

查看英文原文:W3C Workshop on Web of Services Report

SOAREST语言 & 开发架构