zoukankan      html  css  js  c++  java
  • 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还是不应该混为一谈。

  • 相关阅读:
    模拟登陆江西理工大学教务系统
    python3爬虫 -----华东交大校园新闻爬取与数据分析
    以selenium模拟登陆12306
    PAT (Basic Level) Practice (中文)1076 Wifi密码 (15 分)
    PAT (Basic Level) Practice (中文)1047 编程团体赛 (20 分)
    PAT (Basic Level) Practice (中文)1029 旧键盘 (20 分)
    PAT (Basic Level) Practice (中文)1016 部分A+B (15 分)
    PAT (Basic Level) Practice (中文)1031 查验身份证 (15 分)
    PAT (Basic Level) Practice (中文)1041 考试座位号 (15 分)
    PAT (Basic Level) Practice (中文)1037 在霍格沃茨找零钱 (20 分)
  • 原文地址:https://www.cnblogs.com/rockniu/p/1639542.html
Copyright © 2011-2022 走看看