JBI(Java Business Integration)是SUN公司解决SOA的方案,当然JBI没有得到IBM与BEA的承认(
IBM与BEA等公司推荐SCA和SDO)。
JBI(Java Business Integration,Java业务集成,Java业务整合)是一种
企业服务总线(Enterprise Service Bus,ESB),使我们能够用Java实现面向服务的架构。企业正转向以
面向服务架构(SOA)和网络服务,以提供灵活的IT系统,用一种成本低廉的方式来支持快速变化的商业需求。
这里先介绍下JBI架构思想,JBI目的主要是在于创建一个可以集成各种
组件服务的运行环境,当然这也是一种服务总线思想的体现。
1. Servlet容器只能处理以HTTP/SOAP协议传输的消息(接收与响应);
2. EJB容器只能处理RMI协议传输的消息;
3. JMS容器则处理的是JMS协议传输的消息;
它们之间无法进行通讯,如果想集成上面不同类型的容器服务,则必须有一种能融合以上不同容器的新容器出现。JBI就是基于解决这种问题的思路出现的,JBI提供了各种各样的容器绑定组件(Binding Component,称BC),而BC专门负责接收各种各样的
传输协议的消息与发送请收消息给外部容器。当然JBI还提供其它的功能,要不这纯属一种代理了,就没什么意义;
JBI提供处理各种业务的组件(即Service Engines组件,称SE)的消息,比如接收到HTTP的消息后需要转发给外部组件EJB,则需要SE组件来进行转换(更准确的说是Transform SE组件)。其实BC与SE之间是无法直接通信的,所有的消息都是通过传输通道(Deliver Channel)传送到NMR(Normalized Message Router),再由NMR通过DC将信息转到SE或BC的