CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

请 WOA 到一旁“休息”去

作者: 萧百龄,  出处:博客, 责任编辑: 王尔玉, 
2007-10-07 07:30
  分析师画了一幅图,说明基于 SOAP 和 WS-* 的 Web services,和基于 REST、POX和 JSON 的 WOA,以及其他 SOA 相关科技,在复杂度和丰富程度上的比较。本以为 “WOA” 的命运开始消声匿迹……

  著名 IT 分析机构 Gartner 的一个分析师 Nick Gall 发明了一个新词 — WOA (Web-Oriented Architecture) 。大家知道,发明新缩写字 (acronym) 一向是 Gartner 的绝活。几个月后,SOA 界著名的 blogger 和专栏作家 Dion Hinchcliffe 对它表示支持,他甚至画了一幅图,说明基于 SOAP 和 WS-* 的 Web services,和基于 REST、POX和 JSON 的 WOA,以及其他 SOA 相关科技,在复杂度和丰富程度上的比较。

  本以为 “WOA” 的命运,差不多已经和先前广遭声讨的 “SOA 2.0” 一样,开始消声匿迹,但最近在一片大谈 REST 声中(前两篇帖子的主题),发现 WOA 已死灰复燃。

  到底什么是 WOA?来看看始作俑者是怎么定义的。Nick Gall 在评论一篇同事的 blog 时为 WOA 下了以下的定义:

  Shorthand version: WOA = SOA + WWW + REST

  精简版:WOA = SOA + WWW + REST

  他接着说:

  BTW, Since WOA is a substyle of SOA (ie it imposes additional constraints above and beyond those imposed by SOA), you may be interested in our definition of SOA:

  附带一提,因为 WOA 是 SOA 的一种子样式(也就是说,它在原本基于 SOA 的制约之上,还多了些额外的限制),你可能也会有兴趣看看我们对 SOA 的定义:

  Service-Oriented Architecture:

  面向服务架构:

  Long version: An architectural style in which certain discrete functions are packaged into modular, shareable, distributable elements (”services”), which can be invoked by consumers in a loosely coupled manner.

  冗长版:一种架构样式,将某些特定的功能包装成模块化、可共享、可发布的元素(即“服务”),这些服务可以被消费者以松耦合的方式调用。

  我想信他所谓的“SOA + WWW + REST”并非如算数的加法(联集),而指的是必须兼具 SOA、WWW,和 REST,是交集。但以上这些定义,真把 WOA 说清楚、讲明白了吗?

  正因为Web是个偌大的空间,加上所有在上面不断发生的事,使得 “Web”成了一个非常大而模糊的概念,许多对技术不娴熟的用户,更是常把 “Internet”和 “Web”混为一谈。一个很经典的例子是“Web 2.0”这个已存在两年的词汇–恐怕到现在,许多人对到底什么是“Web 2.0”,仍存在着不尽相同的理解和看法。炒作 “WOA”,一个“面向Web的架构”,有着同样的问题,因为 Web 概念太宽了,到底什么是它的核心精神?扯不完!Web 2.0 相关科技 (AJAX, mashups) 能不能算是 WOA?那PHP, Ruby on Rails, Perl, Python 开发的 Web 应用呢?JSP、ASP 的应用呢?SaaS (Software as a Service) 应用又算不算 WOA?如果按照 Nick Gall 的定义,所有的 WOA 都必须符合 SOA,但不见得所有SOA 都是 WOA;还有一个关键是 REST。有人可能会抗议地说:凭什么只有 RESTful 和面向服务的算是 WOA?!凭什么说走 HTTP 的 SOAP Web services就不是 Web?争议的根源,正是在于 “Web”所涵盖的面太广了,大过 SOA 所在的企业计算领域。所以如果反过来硬要把 WOA 局限定义成 SOA 的子集,绝对是招引争议和混淆的好方法。如果目标是提倡 REST,那么先前帖子中提过的面向资源的架构 ROA (Resource-Oriented Architecture) ,是一个比 WOA 更适合的名称。“资源”和“服务”是两个更适合相提并论的抽象概念,并且“资源”充分地凸显出 REST 的设计哲学。

  嗯… WOA… 反覆思索后,还是感觉它的概念很虚。乍看之下,看似是一个和 SOA 互别苗头的新架构,但主张者又强调,它是一个 SOA 的子集,是实现 SOA 的一种特殊的 style。无疑地,如前两篇帖子所谈,REST 的确是个好东西,可以利用在某些 SOA、SaaS,和 Web 2.0 领域的应用,但如果硬要搞出一个 WOA 并把它和 SOA 的关系扯复杂的话,可预见未来在许多企业的 SOA 发展史上,将应验两千多年前孔老夫子已预测到的情节:“名不正(某大大炒作出一个 “WOA” 的词),则言不顺(但仔细检验后,其实概念很虚);言不顺,则事不成(用 REST 做了一堆点应用 [point solutions],便洋洋得意以为已经是 SOA 化,其实差得远了);事不成,则礼乐不兴(没有规规矩矩从 SOA 方法论入手,分析企业战略目标、业务架构、信息架构等,做完善规划);礼乐不兴,则刑罚不中(SOA 治理 [governance] 不到位,未能清楚定义执行战略和可量化的评价指标,因而无从得知 SOA 执行的效果和投资回报);刑罚不中,则民无所措手足(end users 感觉不出来 所谓 “SOA” 的项目和做法比过去传统作法有何高明之处)。”

  聪明的 SOA 治理团队和架构小组,无疑会开始探索 REST 之美,并把它善用在架构当中,但不会迷失在 WOA,或无谓的 SOAP vs REST 之争当中。选择 REST 绝不是基于“为了 REST 而 REST”。

共2页。 1 2 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i