JBI就像一个标准化了的ESB,这时候,原有的ESB产品可以集成到标准的JBI里面,以JBI Component的形式被调用。
JBI的架构包括
1 JBI Container
2 JBI Components
2.1 Service components //例如工作流组件,规则引擎,转换引擎等都是JBI组件
例如ServiceMix里面的 WS-BPEL引擎就是用了PXE BPEL Engine。PXE 本身就有一个JBI component和 deployment unit , 因为遵循了JBI, 就可以自动部署在任何 JBI compliant container里面.
2.2 SOAP bindings/Transport Bindings //JBI 里面的Binding就是Mule里面的Connector。JBI支持更多Web Service相关的Bindings。把剩下的,例如File,Email,Ftp,jMS,TCP,EDI,JABBER统称为Transport Bindings
Mule 和 JBI:
1 JBI integration
1.1 Mule Transports, Components and Transformers can be used inside any Jbi compliant container.//作为JBI Components,被其他应用调用。
1.2 Mule JBI binding :allow you to invoke components form JBI containers allow JBI components to invoke Mule components.//其他应用通过这个binding来调用Mule中的应用
2 Mule JBI Container
Mule-JBI will expose all the features currently available in Mule plus allow 3rd-party JBI components to be managed in the
Mule container.//使Mule Container也兼容JBI Component
例如文件监视file://./inbox?pollingFrequency=1000功能在Mule里面是一个Connector,想让它支持JBI。两种方法,
1 将org.mule.providers.jbi.components.MuleReceiver作为一个JBI Component可以部署在serviceMix里面。2 2 部署在Mule自己的兼容容器里面.
当然serviceMix也有自己的FileBinding。
所以从这里可以看出,JBI只不过是一个标准化的ESB。