问题描述
前两天看了一下mule ESB的的文档,但小弟愚笨,感觉未能理解ESB的精髓。现以一个实例说明。假如我有两个系统A、B ,以前如何A系统要调用B系统的方法获取数据,那么我的做法是叫B系统的开发人员把该方法包装一下以EJB的形式发布出来让A系统调用。那么现在我的问题是 1.ESB是否合适解决此类问题,或是我理解有问题,ESB根本就不是用来处理此类问题的。 2.如果ESB可以处理,那他是如何处理的,能否简单说一下步骤。他到底比我以前用EJB的方法好在什么地方。不胜感谢
解决方案
ESB这个服务总线,就是将你之前多系统之间的访问,从网状结构变成星状结构如果你只有两个系统,则使用现在的方式就好,不用折腾ESB了如果你有多个系统,而且这些系统还是异构的,比如有些是java开发的、有些是.net开发的、有些还是C/S的比如是tuxedo、还有些是成熟产品如SAP等我如果想将这些多个的异构系统都集成进来则就很适合ESB了ESB的作用是协议转换和服务路由协议转换的意思是:比如现在的tuxedo中间件他向外暴露的有服务,他的服务是一种特殊格式的协议、A系统使用的EJP、B系统使用的webservice、C系统使用的servlet、D系统使用的email、E系统使用的RMI等等这个时候可以将这些系统都接到ESB上,经常ESB的协议转换,将他们都转换为webservice,以供其他方调用
解决方案二:
1.如果ab系统是相同平台是可以相互反问的。2.如果你想理解通信机制,可以先了解最新的cobra,现在的webservice,他们是亏平台,还有就是进程之间的通信,EJB其实都是大同小异,A系统声明一个对外的接口,通过一些底层的协议(很多都是封装http协议),B系统就通过对外的接口访问再通俗一点,可以理解为你的B通过http去访问其它网站资源一样。