纯月部落

左手创新,右手敏捷,反过来可以么!

夏纯中ID:danny_xcz
846166次访问,排名41好友1人,关注者39
danny_xcz的文章
原创 298 篇
翻译 3 篇
转载 26 篇
评论 728 篇
纯月的公告
最近评论
lovedoghero:真是一种不错的生活方式。
yctcsms:哈哈,言之有理!
hfgayy:tag
quzhoushijie:gby企业管理
网站推广
打折机票
gby520
我爱你
Iloveyou
收藏
    相册
    Blog用途
    我的相册
    Java Desktop
    Open Source
    友情链接
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 BPEL4WS如何无缝的集成到ESB中收藏

    新一篇: 如何将 BPEL process 运行在 ServiceMix JBI Container 和 Fivesight's PXE上 | 旧一篇: JBI和ESB是同义的么?

    BPEL4WS和ESB不仅不是相互竞争的,反而是互补的。BPEL定义业务流程,而ESB提供BPEL执行过程中所有需要的服务。下面看一个PXE的BPEL过程无缝迁入到ServiceMix里面的例子

    这是在PXE中独立执行时候的配置,我们看到ProcessSVC的Provider里面使用了Protocoladapter.soap这个协议提供。其实bpel更不需要关注提供协议的类型,这些服务全部交给ESB做就行了

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <system-descriptor name="AsyncProcess"
      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">
      <channels>
        <channel name="inboundChannel" />
        <channel name="callbackChannel" />
        <channel name="outboundChannel" />
      </channels>
      <services>
        <service name="ProcessSVC" provider="uri:protocoladapter.soap">
          <imports>
            <port name="ProcessPORT" type="proc:ProcessPT" channel-ref="inboundChannel"/>
            <port name="CallbackPORT" type="resp:CallbackPT" channel-ref="callbackChannel"/>
          </imports>
        </service>
        <service name="ResponderSVC" provider="uri:protocoladapter.soap">
          <exports>
            <port name="ResponderPORT" type="resp:ResponderPT" channel-ref="outboundChannel"/>
          </exports>
        </service>
        <service name="ProcessSync.BpelService" provider="uri:bpelProvider">
          <imports>
            <port name="AsyncResponder.Responder" type="resp:ResponderPT" channel-ref="outboundChannel"/>
          </imports>
          <exports>
            <port name="Client.Process" type="proc:ProcessPT" channel-ref="inboundChannel"/>
            <port name="AsyncResponder.Caller" type="resp:CallbackPT" channel-ref="callbackChannel"/>
          </exports>
        </service>
      </services>
    </system-descriptor>

    下面是ServiceMix中的配置。很明显,刚才的provider里面换成了uri:jbi。通过pxe的JBI兼容组件,当业务流程中调用这些组件的时候,自动通过ESB来调用这些服务。

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <system-descriptor name="AsyncProcess"
      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">
      <channels>
        <channel name="inboundChannel" />
        <channel name="callbackChannel" />
        <channel name="outboundChannel" />
      </channels>
      <services>


        <service name="ProcessSVC" provider="uri:jbi" >
          <properties>
            <property name="namespace"
             value="uri:fivesight.com/examples/AsyncProcessJBI" />
          </properties>
          <imports>
            <!-- The following port will be registered as a JBI service endpoint
                 {uri:fivesight.com/examples/AsyncProcessJBI:ProcessSVC, ProcessPORT}
              -->
            <port name="ProcessPORT" type="proc:ProcessPT" channel-ref="inboundChannel"/>

            <!-- The following port will be registered as a JBI service endpoint
                 {uri:fivesight.com/examples/AsyncProcessJBI:ProcessSVC, CallbackPORT}
              -->
            <port name="CallbackPORT" type="resp:CallbackPT" channel-ref="callbackChannel"/>
          </imports>
        </service>

        <service name="ResponderSVC" provider="uri:jbi" >
          <properties>
            <property name="namespace"
             value="uri:fivesight.com/examples/AsyncProcessJBI" />
          </properties>
          <exports>
            <!-- The following port will invoke JBI service endpoint
                 {uri:fivesight.com/examples/AsyncProcessJBI:ResponderSVC, ResponderPORT}
              -->
            <port name="ResponderPORT" type="resp:ResponderPT" channel-ref="outboundChannel"/>
          </exports>
        </service>

        <service name="ProcessSync.BpelService" provider="uri:bpel">
          <properties>
            <property name="compiledProcess" value="AsyncProcess.cbp"/>
          </properties>
          <imports>
            <port name="AsyncResponder.Responder" type="resp:ResponderPT" channel-ref="outboundChannel"/>
          </imports>
          <exports>
            <port name="Client.Process" type="proc:ProcessPT" channel-ref="inboundChannel"/>
            <port name="AsyncResponder.Caller" type="resp:CallbackPT" channel-ref="callbackChannel"/>
          </exports>
        </service>
      </services>
    </system-descriptor>

    发表于 @ 2005年09月20日 16:19:00|评论(loading...)|编辑

    新一篇: 如何将 BPEL process 运行在 ServiceMix JBI Container 和 Fivesight's PXE上 | 旧一篇: JBI和ESB是同义的么?

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 纯月