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

2009-1-6    | |
打印本文章
RSS

导读: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基础设施需求。

查看全文
 
是否存在某些经验法则,让人们在网络互操作性和进程互操作性二者之间做出选择?换句话说,如果我遇到吞吐量问题,是不是就不该选择Web服务了?
 
自从SOA建立伊始,Toufic Boubez就在这领域工作。他在IBM的时候就与人合著了原始的UDDI规范。后来他与人共同创立了Layer 7 technologies,他做CTO。
 
RESTful事务和Web服务事务有什么区别?首先,我们对术语稍加定义,以助于更好的理解。“事务”这一术语,大家通常第一反应是它没有区分是本地事务还是全局事务……
 
SOA这个阶段是相当重要的发展。那时我身处两个“软件革命”之中。其中之一是面向对象革命。从smalltalk中我们知道了面向对象……
 
这里我们按照惯例将Ruby的事件响应函数名默认为:on+事件名,针对与Zero的Resources Event,有8个默认的事件响应函数……
本技术手册旨在探讨如何为封装WS-BPEL流程逻辑所需的Web服务设计WSDL定义。因为SOA提倡用“契约优先”的方式来设计服务,所以理解由WS-BPEL引发的这种独特服务契约设计理念,是成功构建有效流程和服务的关键因素。
本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。
本专题分六部分探讨服务定向原则,主要探讨如何将服务定向原则应用于构成服务的自动化逻辑。如何越过单个服务层面,应用作为范例的服务定向并形成能够封装整个企业领域的服务层。
最新更新
专家答疑
技巧
Eric Newcomer
是否存在某些经验法则,让人们在网络互操作性和进程互操作性二者之间做出选择?换句话说,如果我遇到吞吐量问题,是不是就不该选择Web服务了?
Jason Bloomberg
评价“企业mashups”的标准是什么?尤其是在企业mashups和“主机包装”项目的关系上?我们对企业mashups的定义是:丰富网络环境下,一套建立在SOA基础之上的组合……
Rami Jaamour
你能解释一下什么是回归测试吗?怎样才能保证你的回归测试是正确的呢?回归测试旨在揭示所有由软件修改所引起的回归,在当今复杂多变的商业环境下……

登录TechTarget中国

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