ESB(Enterprise service bus)-----企业服务总线的简写。
目前使用的是openESB,Sun公司的开源社区提供的,集成在netbean中,使用glassFish服务器。
先来说一下我自己对ESB的认知:我更喜欢把ESB从webservice的角度去理解,webservice是使用SOAP、XML、UUID、WSDL相结合的方式来解决不同应用间通信的,属于一种系统与系统直接的直接关联,而ESB则可以看作一个中转站,用于接收上一层发送的信息,然后处理并转发到下一层。而这样做的好处是: 若多个系统间通讯时,使用传统的webservice,将可能会出现如下情况。
而是用ESB的方式,则会更加的清晰:
并且,由于两个系统之间不需要直接进行交互,也避免了因为两个系统之间的接口不一致而需要在两个系统之中进行协调的尴尬,在ESB中A系统传输的内容可以和B系统所接收的内容形式上不一致,但可以通过ESB中间的逻辑进行修改赋值,这样一来两个系统只需要关注自身的业务和暴露的接口就可以了,而不用去考虑接收信息或发送信息的系统。
今天出去面试了,面试的公司做的开发也有ESB部分,他们的ESB部分是自己开发的,我跟愿意称之为EAI(Enterprise Application Integration)企业应用集成。他们分为外网和内网两个模块,内网使用的是xml的webservice方式实现,而外网的访问则是通过他们自己开发的ESB部分进行分发,在这里ESB部分还包括了防火墙