双面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他只是一句没有实际意义的谎言而已。
甲骨文公司致力于云计算的消息放出的同时,该公司也推出了其最新的中间件,显然,其没有提及任何云计算的东西。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
总线技术究竟该不该用?
曾几何时企业服务总线(ESB)被视为企业IT的核心。今天,不仅ESB受到了比被废弃还要糟糕的攻击,若干开发趋势似乎对更简单的消息总线也发起了质疑。