WOA又一个缩略词?WOA和SOA(一)

日期: 2009-01-05 作者:Ronald Schmelzer翻译:杨君 来源:TechTarget中国 英文

IT也有同样的问题:多动症(ADD)。当这个理念最终得到认可,业内的权威人士、销售人员以及业内标准制定者就会想出另一个让我们困惑的新名词。在IT业内逐渐熟悉了这个三个字母的缩略词之后,hypester就会谈论面向网络(WOA)。介于ZapThink已经厌倦了这种旧瓶装新酒的把戏,我们不禁要问:WOA理念中有什么新的内容?如果这里真的有新思想,里面会有内容吗?更为重要的是,如果WOA里面真的有新思想,这些新思想和SOA有什么区别呢?   什么是WOA   在我为ZapFlash撰写这篇文章时,面向网络架构还没有维基百科进站网页,这意味着那时候人们还没有意愿建立一个这样的进站网页(尽管编写这样的一……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

IT也有同样的问题:多动症(ADD)。当这个理念最终得到认可,业内的权威人士、销售人员以及业内标准制定者就会想出另一个让我们困惑的新名词。在IT业内逐渐熟悉了这个三个字母的缩略词之后,hypester就会谈论面向网络(WOA)。介于ZapThink已经厌倦了这种旧瓶装新酒的把戏,我们不禁要问:WOA理念中有什么新的内容?如果这里真的有新思想,里面会有内容吗?更为重要的是,如果WOA里面真的有新思想,这些新思想和SOA有什么区别呢?

  什么是WOA

  在我为ZapFlash撰写这篇文章时,面向网络架构还没有维基百科进站网页,这意味着那时候人们还没有意愿建立一个这样的进站网页(尽管编写这样的一个进站网页很可能刺激人们创建一个入口)同样,这样说明,这个条目太过新颖,很难让人们达成一致给出一个统一的定义。但是,过去的一年中,有好多博客都纷纷发表自己的看法,相应的研究工作也得到了许多可喜的成果,里面给出了一些更为具体的定义。

  Nick Gall是最早倡导WOA的人,他将WOA定义为“是一种架构模式,SOA的下属模式,这种模式建立在网络架构的基础之上,并且还有几个限制条件:在全球范围内链接、分散式,通过自身描述信息统一进行中间数据处理,他将其定义为SOA、网络和REST结构,以及技术实施模式的结合体。Dion Hinch cliffe进一步将WOA定义为“类似HTTP和XML网络协议的核心部分”依照他的观点,可以为Web服务提供一个简单的、伸展性更强的方法。他进一步阐述到“传统SOA和WOA理念之间的真正区别就是WOA倡导使用REST,这种方法可以利用HTTP作为Web服务,功能更为强大,更受欢迎。

  我们要问的第一个问题是,代表性状态传输(REST)不过是WOA的品牌重塑。实际上,Dion Hinchcliffe自己对REST的基本概念也不是很清楚。他认为WOA这个概念“只要涉及到REST和WOA,没有什么比HTTP更为复杂了”同时我们在ZapFlash前面也曽提到过,REST和SOA二者之间是互补的,这一点可以在Hinchcliffe对SOA和WOA处理方法中可以得到应用。

  关于REST-WOA重叠性问题可以这样解释,不是所有的REST应用都是WOA,不是所有的WOA实施都必须是RESTful。最早杜撰这个词的Nick Gall在自己的博客中向我们描述了更为深刻的见解,他说:“我觉得对于REST的讨论都集中到了宗教方面,网络架构则会迷惑大众,因为它一开始是针对用户-系统互操作而制定的,而不是针对系统—系统互操作的,WOA实际上就是REST旧貌换新颜,对于SOA尤其适用。”

  没有一个WOA的倡导者认为WOA可以取代SOA,而且认为WOA只是SOA实施的一个子集或者一种模式。Nick Gall曾经说过“WOA描述了SOA的一个子集,这个子集可以满足网络架构的要求。ZapThink也同意这个观点。面向服务架构是一种企业架构方法,原始目的是为了实施服务,对于那些试图用面向网络方法解决SOA问题的人,服务实施的RESTful模式和以及服务设计的面向REST模式可能会有帮助。如果是这样的话,为什么还要费力把这个新理念称之为WOA呢?为什么不称之为面向网络SOA呢?

  用户可以依照以下几条准则定义服务并协调服务之间的互操作:

  ·遵循ZapThink定义的SOA准则以及其它准则以便确保你的服务得到适当抽取,是松耦合的,可以组合,并且收到制约。

  ·每一个面向Web服务都要有一个意义清晰,独特的URI,以便定位网络上的服务。

  ·用URI来定位并按照它与其它服务的关系分类定义服务。

  ·用确实的网络方法(POST, GET等)与服务进行互操作。

  ·减少对专有中间件的依赖性,协调服务互操作,用普通的网络基础设施满足SOA基础设施需求。

相关推荐