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

 
   | |

导读:WOA是一种架构模式,SOA的下属模式,这种模式建立在网络架构的基础之上,为SOA、网络和REST结构及技术实施模式的结合体。SOA和WOA理念真正区别就是WOA倡导使用REST。

关键词:WOA 架构模式 SOA REST

 
正在加载数据...

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

  在我为ZapFlash撰写这篇文章时,面向网络架构还没有维基百科进站网页,这意味着那时候人们还没有意愿建立一个这样的进站网页(尽管编写这样的一个进站网页很可能刺激人们创建一个入口)同样,这样说明,这个条目太过新颖,很难让人们达成一致给出一个统一的定义……

【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基础设施需求。

 
查看全文
 
 
 
 
 

REST

 
JSR311组的工作被反映到2008年10月的Restlet 1.1发布版中,与JAX-RS标准版的最终发布版相重合。主要的改变是根据需求向Restlet类中……
 
很少有论文像Roy Fielding九年前的《架构风格和基于网络的软件架构设计》这么有影响力。在第五章中他提出了了网络架构的具象状态传输……
 
iPhone的应用程序商店的成功,已经由于引人注目的电信业把应用程序开发摆上台,而且世界各地的电信业正在利用SOA迎头赶上。增加了组合……
 
是否存在某些经验法则,让人们在网络互操作性和进程互操作性二者之间做出选择?换句话说,如果我遇到吞吐量问题,是不是就不该选择Web服务了?
 
SOA这个阶段是相当重要的发展。那时我身处两个“软件革命”之中。其中之一是面向对象革命。从smalltalk中我们知道了面向对象……
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录