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