BPEL4WS和ESB不仅不是相互竞争的,反而是互补的。BPEL定义业务流程,而ESB提供BPEL执行过程中所有需要的服务。下面看一个PXE的BPEL过程无缝迁入到ServiceMix里面的例子
这是在PXE中独立执行时候的配置,我们看到ProcessSVC的Provider里面使用了Protocoladapter.soap这个协议提供。其实bpel更不需要关注提供协议的类型,这些服务全部交给ESB做就行了
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.fivesight.com/pxe/system-descriptor/
http://www.fivesight.com/pxe/system-descriptor/"
wsdlUri="file:main.wsdl"
xmlns="
http://www.fivesight.com/pxe/system-descriptor/"
xmlns:proc="uri:com.bptest.process"
xmlns:resp="uri:com.bptest.responder">
下面是ServiceMix中的配置。很明显,刚才的provider里面换成了uri:jbi。通过pxe的JBI兼容组件,当业务流程中调用这些组件的时候,自动通过ESB来调用这些服务。
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.fivesight.com/pxe/system-descriptor/
http://www.fivesight.com/pxe/system-descriptor/"
wsdlUri="file:./AsyncProcess.wsdl"
xmlns="
http://www.fivesight.com/pxe/system-descriptor/"
xmlns:proc="uri:com.bptest.process"
xmlns:resp="uri:com.bptest.responder">
value="uri:fivesight.com/examples/AsyncProcessJBI" />
value="uri:fivesight.com/examples/AsyncProcessJBI" />
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=485805