ESB全称是企业服务总线(Enterprise Service Bus)。它是传统中间件技术与XML、web服务等技术结合的产物。关注点在于服务,以及不同服务之间的通信。其为不同的服务之间提供了一个统一的消息格式。
各个可复用的服务,如(file,db,ws,jms,ftp,process,businessmodel,http,soap等等)注册到ESB上。同时,为了能让用户使用不同的服务,必须为每一个服务提供相应的接入点,但是并不是每一个服务都可以让外部的用户访问的,这就出现了Binding Component(BC)和Service Engine(SE)的区别。只有BC,用户才可以通过其暴露的接入点来使用。SE只有通过BC才能够被调用。
ESB 不是万能的,他不是一个应用程序框架,也不是一个企业应用的解决方案.它只是一个基于消息的调用企业服务的通信模块!你可以把它嵌入到你的应用程序框架中,例如嵌入到spring容器里面,或者嵌入到工作流系统中.它的作用是对企业里面的SOA服务的调用提供一个框架和简便的方法.