下一代SOA: WOA

WOA(Web-Oriented Architecture (WOA))是下一代轻量级,面向WEB(web-aligned)的SOA,是与SOA互补具备SOA风格的。

这是Dion Hinchcliffe博士发表的The SOA world begins considering Web-Oriented Architecture (WOA) in earnest文章中观点,下面以我个人理解来表述,其中大部分观点来自这篇文章。

WOA其实不是新概念,在过去几年一直发生着,比如Web 2.0等等,现在不过给它正名。Dion博士提出SOA和WOA的对比图如下:

从这张图中我个人认为:WOA = Widget + RESTful + Service。而SOA主要贡献是提出服务Service概念,以及分解服务生产与服务消费松耦合的观点,至于如何松耦合,SOA就有点语义不详,甚至发展为一些重量级别的解决方案。其实使用REST就可以轻松解决。

Dion博士认为WOA可以以更轻量 更低消耗,通过大量链接href这个方式实现服务的发现Discovery 均衡和分析。基于Web的云计算和Open API以每周为单位不断地增长,WOA提供了通向强大的新的在线式产品分布模型(banQ注:如NGOSS模型)的实现路径。WOA已经不是简单的Web服务替代,而是从SOAP模型到REST模型核心的转变。

Dion博士还认为WOA 不是REST,REST是WOA的核心架构,WOA更侧重Web,Web包括浏览器和JSON,以及打包的服务消费者Widget。

个人认为,REST没有强调客户端架构,可以是浏览器或RIA,REST是状态模式的事件和状态在客户端和服务器端的明晰分配。

Dion博士提出了几个应用WOA的场景:
1.SOA中的信息变得可抓取crawlable, 可搜索searchable, 和可发现discoverable。打破信息孤岛。

2.widgets帮助SOA可分布,一个开发员可以把无论来自何处的服务打包在一个Widget中,
widgets已经成为一个建立Web和后端企业系统的一个重要基石。因为浏览器不能直接访问WS-I Basic Profile (SOAP, WSDL, UDDI),所以,传统的SOA对于浏览器是有障碍的,而widgets提供了这种方便和包装。

...其他可见Dion博士原文:
Dion博士原文
http://hinchcliffe.org/archive/2008/09/08/16676.aspx

WOA wins hands down in a SOA popularity contest
http://blogs.zdnet.com/service-oriented/?p=1166

Everyone Loves Web-Oriented Architecture
http://www.fastforwardblog.com/2008/09/04/everybody-loves-web-oriented-architecture/

A Simpler Approach to SOA
http://www.informationweek.com/news/software/soa/showArticle.jhtml

REST作为风格 -- WOA作为架构
http://www.infoq.com/cn/news/2009/06/hinchcliffe-REST-WOA

打住!SOA、SOA 2.0、ROA和WOA,缩略词也太过头了吧?
http://www.infoq.com/cn/news/2008/06/whoa-woa
[该贴被banq于2009-08-07 14:34修改过]

SOA的基础是WebService的三角色,这个模型就注定了SOA是松耦合的。
1)调用代码与被调代码,平时根本不连接,无任何关联。
2)调用是通过第三者(注册中心)的。
3)你调用A公司提供的代码,这次可能是存放在休斯顿的一台电脑里,下次调用的,可能是酒泉一台电脑里的代码。也可能访问的是B公司、C公司提供的代码。一切皆有可能。

WOA,非常可行。