ESB企业负责总线到底是什么东西呢?

07-09-04 yuxb111
              

看了几天这个概念,没有特别的搞懂,也看了IBM的一个视频教程,说的云里雾里的,不过我感觉也不是什么新的东西?实现的技术还是web service那一套,通过WSDL暴露接口,不知道我的理解对还是不对?请各位和banq指教!谢谢

              

1
killer
2007-09-04 20:02

首先说一下,你这个问题帖错了版块!

下面来说一下你的问题。顾名思义,企业服务总线(ESB)就是一条企业架构的总线,所有的企业服务都挂接到该总线上对外公布,企业服务总线负责管理服务目录,解析服务请求者的请求方法、消息格式,并对服务提供者进行寻址,转发服务请求。说白了,它就是服务的请求者和服务的提供者之间的一个中间件,就是对服务使用者屏蔽服务提供方的技术实现方式。如果没有这个总线,那么服务的请求者则必须自己知道它所需要的服务的地址,并要知道相应的服务调用方法,消息格式,这样的调用是点到点的,不利于服务的统一管理,不利于不同格式的服务的集成。

ESB可以说是搭建SOA架构所必须实现的核心功能组件。总的来说,它的主要功能和职责是消息解析,验证,服务路由转换,请求的传递,服务目录管理。ESB使用SOAP消息格式,支持HTTP(S)、JMS、MQ、FTP、SMTP等传输协议。

ESB也可以说是传统中间件技术与XML、Web服务等技术相互结合的产物。

从软件设计的角度上来说,ESB是一个抽象的间接层,提取了服务调用过程中调用与被调用动态交互中的一些共同的东西,减轻了服务调用者的负担。要记住一句话:“所有的软件设计的问题都可以通过增加一个抽象的间接层而得到解决或者得到简化!!!”这句话在java编程思想这本书上有,但还是要通过不断的实践才能真正深入地理解它!

banq
2007-09-05 15:44

killer已经说得很好。

未来,对于普通程序员,ESB可能无需注意其存在,就象互联网的域名服务器一样,普通用户根本不知道它的存在,但是它确实是非常重要,帮助你定位到你要的那个网站甚至网站某个具体功能。