|
SOA没有双面只有谎言虽然SOA目前华丽光鲜,能够给企业巨大回报和效益,但脱离ESB他只是一句没有实际意义的谎言而已。 双面SOA本质是什么?概念大于实际,不是谎言是什么? 今天看了计世《双面SOA》一文,没有挑衅之意,也决非哗众取宠,SOA接受了太多光环和荣誉,2006年SOA一举摘得百度搜索关键字第一位的皇冠,知名度可见一般,集媒体和厂商万千宠受与一身的SOA让我们忘切了它的实质,抛开ESB的支撑SOA就是一个彻头彻尾的谎言家。 ESB(Enterprise Service Bus)企业服务总线,他生不缝时,没有人知道他身出何处,厂商和媒体的集体失声,更令他师出无名,被称为下一代软件架构的SOA完美问世,彻底让ESB尽失容颜,倘若没有ESB的存在SOA实现真正的落地简直就是天方夜谈,那么就让我们认识一下这位无名英雄神奇的魔力。 时势造英雄 ESB诞生在一个乱世的年代,在企业信息化建设的初期,信息孤岛成为当时最流行的词汇,无论你是媒体的追逐者,还是信息化的决策者,打破信息孤岛成为企业和CIO心中的一块心病。 当时软件的使用范围仅限于一个部门或某一个业务,由此导致了一个大型企业可能存在多个大小不一应用软件系统,由于没有前期建设的整体规划,系统与系统之间完全独立存在,运行在不同的系统平台,基于不同的开发语言,甚至不同的系统出自N个团队开发设计,系统之间没有一个整体IT规划和统一架构,项目随需而上。 随着企业的不断状大,部门和部之间的业务往来逐渐增多,单据式、手工式的处理已经无法满足企业内部之间的频繁数据交换,更别提企业和上下游的监控了,信息真正成为了一座孤岛,如何把这些来自不同基因,却有着同一个企业目标共性的软件有机的结合呢?应用集成运而生。 60年代末期互联网诞生,当时采用的是IMP和TIP采用模块式结构技术,70年代初期起草了Internet协议,80年代初期互联网开始进行彻底融合,82年开始制订了TCP/IP协议,此协议打破了地球是圆的定论,使沟通更加扁平顺畅。 地球这么宠杂的系统都可以实现无障碍灌通,更何况企业内部和外部的协同?基于这个原理软件厂商开始采用互联网的协议标准,解决应用软件的相互集成,这样集成方式让系统与系统之间可以在统一的协议下进行交互,但是缺陷不言自明,系统缺乏弹性,数据交换不能离线操作,部署模型复杂混乱。 后来发展到了基于消息的异步编程模型,虽然在数据的安全和稳定性较协议式的模型有了长足的进步,但协议式的缺点却继承无遗。 英难本无名 EAI模式的出现,有效的解决了协议式和消息式中存在的不足,星状的布局设计,可以有效的解决数据载体间的离线式传输,但是会暴露给外界更多的业务接口,企业和企业之间很难打通,缺乏灵活性的管理对于企业来说是致命的。 ESB的出现有效的解决了EAI所遗留下来的缺点,血统上两者类似于近亲,都是为了解决各个不同应用在消息层面的数据转换、数据集成以及流程集成,这也是为什么媒体会把ESB和EAI混为一谈,其实两者不然。 在技术上ESB和传统的EAI具有更好的特性和更灵活的架构: ESB面对的对象是服务,而服务是基于标准的,例如Web Service(这也是为什么很多厂商为什么会提到WSDL,SOAP等协义,我们暂且不去考虑这些协议的来源,只要了解集成的协议越多,基于的服务也越多,ESB的功能就会越强大)。EAI集成的对象是不同的中间件平台。 在集成过程中,ESB类似于开发中JSP,一次编译处处运行,EAI相当于ASP,每次运行都要重新编译,在速度上有差别,这也是为什么JSP风靡一时,ASP暗谈无光的原因。 ESB支持异步消息的交互。通常集成各方的消息传递有同步和异步两种,接收指令,送达一个消息,不用等待结果。有点类似于现在快递员,只需要把接收到物品送到指定位置,不处理任何响应。EAI中实现这种功能还是有难度的。 Apusic ESB 立足于Apusic应用服务器和Apusic消息中间件之上,并与其无缝结合,具备面向服务、面向消息、事件驱动的特性,是一个在SOA架构中充当服务兼智能化集成与管理中介的灵活敏捷的基础平台,成为SOA解决方案落地的关键。 可是近年来SOA的上镜率,直线标升,连计世《双面SOA》通篇上千字的文中,ESB更是难觅踪迹,ESB和SOA像是一对绝缘体,有种老死不相往来的感觉,这与人们对ESB的关注不够有关,加上ESB在技术上的确让人难以理解,所以师出无名就不足为怪。 SOA借机上位 SOA到底为何物?追溯他的历史,有人说这个词汇在五年前就走进了公众的视野,也有人说他是COM的前身,更有人认为在五十多年前当子程序出现的一刻,组件的家族图谱中就他的名字。 暂且不论DLL中有多少SOA的因素,解决问题是最终目的,哪管他叫S-O-O-A或S-O-O-O-A。 有人把SOA称作一种思想,也有称之为架构理念,还有把形象的比喻成积木式的框架,我们干脆把他称为一种理想,最大化的解决不同系统和企业之间的数据相互集成和调用,打破技术壁垒实现无障碍交流,实现我为他用,他为我用,这就是SOA的终极目标。 如何在技术上实现?需要在WEB服务的前提下,基于HTTP传输协议,采用双方共同认识的协议标准进行调用,SOA就可以畅通无阻了。 如何把WEB服务和传输协议以及调用协议串联起来,需要一条线把三者或者更多者穿在一起,就产生了ESB企业服务总线。 有了ESB的存在才不至于让SOA永远的飘在空中,成为切切实实的企服务架构,否则SOA与行尸走肉没有两样。 伯顿集团副总裁兼研究总监Anne Thomas Manes甚至在其的博客中宣布SOA已经死亡。Manes在博客中称:“由于经济衰退产生的灾难性影响对SOA造成了致命的打击,SOA最终在2009年1月1日死亡。今后人们将不再谈论架构和服务,取而代之的是人们将把注意力放在诸如企业服务总线(ESB)上。 IBM公司负责开放式计算和SOA业务的业务开发经理Ruthven说,人们永远不要把SOA看作是一种技术,而应该看作是把企业核心的业务推动因素内在地联系在一起的一种方式。事实上,企业经常拒绝SOA,因为企业把SOA看作是一种技术。 实现这个目标的方法是IT部门在实施SOA项目之后应该展示这个解决方案是可行的,而不仅仅是展示这个概念本身。 虽然SOA目前华丽光鲜,能够给企业巨大回报和效益,打破企业之间的无界限互通,作为一种方法,试想还有谁能超过SOA,但是SOA成功的背后不要忽视ESB的存在,脱离ESB他只是一句没有实际意义的谎言而已。 来源:IT168 责编:姜玲 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
推荐博客 |
|