由“SOA已死”想到的……

来源:互联网 发布:奔驰c200l后排空间数据 编辑:程序博客网 时间:2024/05/17 23:21
    曾经,SOA是多么的火,以至于一说到企业的IT架构,非SOA莫属。如果一个企业的新业务系统不采用SOA的架构,就会被认为是落后的;如果已有的业务系统,不用SOA进行改造,就会必然死亡。一时之间,SOA满天飞,新闻报道,企业宣传,搞的不亦乐乎。
    在如此的形势之下,为了不使自己落后,急忙找点SOA的资料充充电,却看到“目前实现SOA的最佳技术是Web Service”,心里不免落寞,难道SOA是新瓶装旧酒?又学习了一番,发现SOA主要是概念上的,要从技术上实现它,目前最适用的是Web Service。其实,Web Service的概念与SOA非常相似,只是没有SOA拔的更高而已。在实际的IT项目中,没有看到多少采用SOA架构的,也没有多少采用Web Service的,还是该咋咋地,尽管SOA的宣传铺天盖地。
    SOA宣传的很火,但用的很少,慢慢也就淡忘了。今天看到一则新闻“严峻的经济形势,缺乏有说服性的案例使得SOA开始面临质疑,有分析师断言SOA已死,并批评SOA项目浪费了企业大量的投资。”看了不仅愕然,像我这样的IT民工还没有尝试一把SOA,她就是死去了?不仅感慨技术也是“长江后浪推前浪,前浪死在沙滩上”,优秀的技术在大浪淘沙之后还是会生存下来,没有实质内容的技术和概念,即使宣传再猛烈,终究是要死去的。
    SOA真的要死去了吗?即使SOA这个名字死去了,她背后代蕴含的降低复杂性、松耦合、灵活支持业务等优秀观点是不会死去的,而且还会更加发扬光大,其实这样的优秀观点在SOA出现之前就已经出现了,Web Service也具有这些优点,在Web Service之前的一些技术也具有这些优点,既然如此,SOA又剩下些什么呢?不过是一些IT企业吸引眼球圈钱的作秀而已。
    无论如何,以降低复杂性、松耦合、灵活支持业务为宗旨的SOA或Web Service,不能一棒打死,在其适用的范围内还是大有可为的。SOA或Web Service的特性决定了具有相对独立业务功能的程序体可以打造为一个功能节点,这个功能节点对内是自治的,具有一定独立性,对外提供一些功能,功能的使用者并不需要关心其实现原理、内部结构,只要拿来为我所用就可以了。但使用者一旦使用了某个SOA或Web Service节点,就对其有了依赖性,一旦节点无法对外提供服务,使用者的功能就会受到影响,甚至无法使用。这样,对于不需要与外部交互的系统来说,就没有必要把它细分为若干可单独部署的SOA或Web Service节点互相调用了,传统的技术就足够了,使用SOA或Web Service来构建只是画蛇添足,当需要对外有信息交互时,把需要交换信息的那部分加上SOA或Web Service接口就可以了。当有几个子系统或系统之间需要信息交互时,每个子系统或系统内部还是按照传统的开发技术,只是在需要发布信息或使用信息的地方用SOA或Web Service做接口就可以了。这样,因为SOA或Web Service的通用性,在构建其它系统时,如果正好有信息在已有的系统里存在,就可以通过SOA或Web Service进行信息交互了,而不需要重复开发。以此看来,一个SOA或Web Service节点,就是一个组件,在这些组件基础上可以搭建更大范围的应用,也就体现了降低复杂性、松耦合、灵活支持业务的优点。
    万变不离其宗。SOA所体现的思想还是有价值的。

 

参考资料:
  1. 换个角度看IT的大救星 SOA是否真的已死?
原创粉丝点击