关于ESB,目前还没有被一致接受的标准。ESB的功能在于帮助服务的集成,而不是参与业务逻辑。通俗点讲:ESB就是在
SOA架构中实现服务间智能化集成与管理的中介。
企业服务总线(Enterprise Service Bus,ESB)的概念是从面向服务体系架构(Service -Oriented Architecture, SOA)发展而来的
ESB的两个基本功能:面向服务的原数据(MetaData)管理功能 和中介(Mediation)功能。 作为SOA的重要构成部分,ESB承担的重任还包括怎样将
企业架构中已存在的业务服务连接到总线上来,我们称之为
适配器(Adapter)功能。
ESB应该构筑在完善的SOA架构上,做它应该做的事-服务集成。至于怎样集成,应该根据你的上下文环境,考虑有哪些SOA的基础设施可供你使用,然后再基于SOA的基础架构来实现你的ESB设计。
在更高的层次,ESB还提供诸如服务代理,协议转换等等功能,我们称之为ESB的应用模式(ESB usage pattern)。
至于为什么要用ESB,在一个企业里必然有很多系统,但是不是操作系统之间的数据传输格式、传输协议等等都是不相同的。这样的话,不同系统之间调用肯定是非常复杂的,接口的维护费用肯定是很庞大的,这时就很需要企业服务总线ESB来中介。ESB的产品也比较多,IBM的WebSphere Message Broker、
甲骨文的OSB、WSO2的Synapse/WSO2 ESB。IBM的特点是简化开发方式,减低了使用门槛,减少了使用中出现的概率,并且开发方式将由自底向上转变为自上而下。IBM在国内也有很多代理商,像北京神码、上海德慧都是IBM比较大的代理商。