随着SOA概念的应声落地, ESB蜂拥而入,虽然它不是一个
新的名词但它给人的感觉是既时髦又迷糊,它似乎正在被赋予许多自己不应承载的内容。究竟什么才是ESB?为什么与SOA有着千丝万缕的关系?CIO又如何
透过ESB掌控SOA实施?
ESB和SOA的关系
关于ESB的概念,网络的报道铺天盖地,专家的的解释也是众说纷纭,ESB一直没有一个准确的定义,就像SOA问世之初到底是框架还是思想一样被人们议来议去,以笔者的个人理解认为ESB是连接人体各个神经系统的中枢,而SOA就是这错纵复杂的神经系统,如何才能够让各个神经系统相互协调、灵活,高效的工作,ESB起到连接和传输的作用。
ESB的出现彻底摆脱了传统集成中间件中中央服务器的集中式交换模式,采用了轻量级的分布部署模型,通过对服务的注册、发布、流程化等一系列的管理,提供服务仓库,并可以将服务仓库中来自世界各的服务根据">业务需求有机的结合起来,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。有了ESB, SOA才能释放它的最大价值。因此,ESB成为厂商在SOA竞争中的焦点。
2008年初,金蝶中间件公司在深圳发布了下一代企业集成框架软件Apusic ESB(企业服务总线)中间件,标志着金蝶中间件的SOA战略体系已经形成。
ESB是改头换面的EAI吗?
关于ESB的由来和传说数不胜数,有人说ESB是SOA的产物,有人说ESB是改装后的EAI换汤不换药,到底ESB是不是改头换面的EAI为此金蝶中间件ESB产品经理倪晓兵表示:
ESB和传统的集线器方式的EAI相比,从应用的领域上没有什么不同,其目的都是为了解决各个不同应用在消息层面的数据转换、数据集成以及流程集成。
从技术实现的角度看,ESB和传统的EAI相比,具有更好的特性和更灵活的结构,主要有:
1)ESB面向的对象是服务,也就是说,ESB需要去集成的对象都是服务,而服务是基于标准的,例如Web Service。EAI中,集成的对象则是不同的中间件平台
2)ESB在集成的过程中,更强调一种“统一消息”的概念。这种“统一消息”的格式,是可以被在ESB中所集成的各个服务都认可的。但在EAI里,则是集成的各方基本都存在自己的“方言”,这就要求,EAI平台,必须能够认识这些“方言”并解析这些方言。由于在解析的过程中要经过翻译成对方可以识别的语言,而ESB不用,这样就大大提高了运行速度。
3)ESB支持异步消息的交互。通常,集成各方的消息传递有两种模式,一是同步的请求-回应模式,另外一种则是异步模式,请求方法送一个消息,马上返回,不用等待结果。对服务组件来说,就被摆在那里,可以对异步消息作出响应,既不用关心具体的调用协议,也不用关心数据的路由细节,只关心一件事情:接收消息并处理消息。这一点在EAI中是很难办到的。