SOA不是Web Service

 
在很多场合的交流中,常常遇到把 SOA Web Service 混用的情况,所以想在这次的 Blog 里,结合网上的各种观点,谈谈个人对两个概念的理解。用一句话来概括基本的观点就是“ SOA 不是 Web Service Web Service 是目前最适合实现 SOA 的技术”。 之所以 SOA Web Service 被混为一谈,最可能的原因了也就在于此吧。
 
早在 1996 Gartner 就前瞻性地提出了面向服务架构的思想 (SOA) ,该年赫赫有名的 Netscape 才发布了 Navigator 2.0 ,整个互联网刚刚庆祝超过 500,000 网站的诞生,网络上的商业应用还是凤毛麟角, Web Service 不知为何物, SOA 还只是束之高阁的理论概念。直到 2000 年以后, W3C 才成立了相关的委员会,开始讨论 Web Service 的相关标准;各大厂商一边积极参与标准制定,一边推出了一系列实实在在的产品。新的技术和新的产品出现, SOA 找到了可以依托的凭借。随着 Web Service 技术的推出和应用, SOA 的思想被一个个效益显著的信息系统建设项目不断的示范,才逐渐成为现今的热门话题。类似的情况让人联想到爱因斯坦提出来的理论,著名的质量能量转化等式 E=mc2 ,直到人们掌握了核子裂变技术,才成功生产出了原子弹,向世人展示了这个理论等式的巨大威力。
 
因为现在几乎所有的 SOA 应用场合都是和 Web Service 绑定的,所以不免有时候这两个概念混用。不可否认 Web Service 是现在最适合实现 SOA 的技术, SOA 的走红在很大程度上归功于 Web Service 标准的成熟和应用普及。因为现在大家基本上认同 Web Service 技术在几方面体现了 SOA 的需要:
 
首先是基于标准访问的独立功能实体满足了松耦合要求:在 Web Service 中所有的访问都通过 SOAP 访问进行,用 WSDL 定义的接口封装,通过 UDDI 进行目录查找,可以动态改变一个服务的提供方而无需影响客户端的配置,外界客户端是根本不关心访问服务器端的实现。
 
其次,适合大数据量低频率访问符合服务大颗粒度功能:基于性能和效率平衡的要求, SOA 的服务提供的是大颗粒度的应用功能,而且跨系统边界的访问频率也不会象程序间函数调用那么频繁。通过使用 WSDL 和基于文本 (Literal) SOAP 请求,可以实现能一次性接收处理大量数据。
 
最后,基于标准的文本消息传递为异构系统提供通讯机制: Web Service 所有的通讯是通过 SOAP 进行的,而 SOAP 是基于 XML 的, XML 是结构化的文本消息。从最早的 EDI 开始,文本消息也许是异构系统间通讯最好的消息格式,适用于 SOA 强调的服务对异构后天宿主系统的透明性。
 
综合上述观点, Web Service 不愧为当前 SOA 的最好选择。然而,就 SOA 思想本身而言,并不一定要局限于 Web Service 方式的实现。更应该看到的是 SOA 本身强调的是实现业务逻辑的敏捷性要求,是从业务应用角度对信息系统实现和应用的抽象。随着人们认识的提高,还会有新技术不断的发明出来,更好的来满足这个要求。就好像在核子裂变之后,人们又发现了威力更加强大的核子聚变。为了要有一个更高的角度来看待问题, SOA Web Service 还是不应该混为一谈。
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15232031/viewspace-440839/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15232031/viewspace-440839/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值