什么是ESB,为什么要用这个技术,这个技术解决了什么问题?
ESB,Enterprise Service Bus,即企业服务总线。
这两天在看关于ESB的一些资料,但是看来看去,看得我晕晕乎乎的,不知道这些资料到底在说些什么,因为那些话实在是太官方了,看不懂啊!于是,我就想,我看了这么半天的资料,到底ESB有啥用啊?没弄明白这个问题,看多少资料也是徒劳。
以前,听同事讲到ESB,他这样容:
ESB就像一根大管道,提供服务的一端只要把服务按照标准,输送到管道上,不需要关心谁使用它。而使用服务的一端,需要服务的时候,只需要去管道上去取即可。
这是之前大脑中对ESB的印象。
为什么要使用ESB呢?
举个例子:
不同的政府部门,如工商局、地税局、国税局、质监局、劳动与社会保障局可能都建立了自己的系统,一个企业的不同方面的信息分别在工商局、地税局、国税局、质监局、劳动与社会保障局的信息系统里得到体现,比如关于企业的注册登记信息在工商局的信息系统里,企业纳税信息在地税局和国税局的信息系统里等等。每个系统都有同一个企业的一部分信息,但是每个系统里的信息也只是这个企业信息的一部分,但是这些系统之间还都是相互孤立的,不能互相通信,数据也不能相互整合。
问题来了,如何把这些分散在不同信息系统里的数据有机的整合起来呢?要想整合这些信息,有以下问题需要解决:
1、这些信息系统,很可能运行在截然不同的硬件平台和软件平台上。
2、这些不同的信息系统,数据可能保存在不同的数据库系统甚至文件系统上。
3、这些不同的信息系统,是由不同的软件厂商、基于不同的开发语言开发的。
4、系统对外提供服务的接口可能是基于各种各样不同的协议的。
5、不同的系统可能使用不同的网络环境,如何解决跨网络的安全性、可靠性等问题。
结合上面的图片,我们可以猜想,ESB应该是这样一种作用:
服务使用者->ESB->服务提供者
服务使用者对服务提供者的身份、物理位置、传输协议和接口定义都是不知道也不关心
事实上类似于适配器模式了意思了,不管你使用的是什么平台、什么语言,提供的是什么协议,经过ESB转换就可以很完美的提供给使用方。
当然,要我现在说出ESB是如何解决这些问题的,说实话,我现在也是说不出来,也只是了解了一些表面上的东西。但是,有了这些问题,再去看资料的时候,相信会轻松很多,心里会明朗很多。
ESB为我们解决了什么问题呢?,布布扣,bubuko.com
原文:http://blog.csdn.net/libaoqiang613/article/details/22074373