posts - 30,  comments - 85,  trackbacks - 0

使用WID开发BPEL业务流程模版后,通常部署到WPS上面以后我们需要能够trgger流程启动和流程运转。否则流程就没有意义了。

     请参考:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0512_fanggw/#N100F6

这里介绍客户端调用流程的几种方式。通常有三种方式:
                  1、基于服务组件架构(SCA)的调用方式

                  2、基于Web服务的调用方式 (WebService调用)
                  3、通过BPC的应用程序接口
用到最多的还是第三种通过BPC应用程序接口调用的方式。下面介绍一下通过BPC应用程序调用BPEL的方式:
      当我们设计好业务流程。并且部署到WPS下后:
       我们首先要通过JNDI找到LocalBusinessFlowManagerHome,然后生成相应的LocalBusinessFlowManager。这部分的代码片断如下:
        InitialContext ctx = new InitialContext();
        LocalBusinessFlowManagerHome mgrHome =
        (LocalBusinessFlowManagerHome)ctx.lookup("java:comp/env/ejb/LocalBusinessFlowManagerHome");
        LocalBusinessFlowManager mgr = mgrHome.create();

      

调用流程的代码是通过LocalBusinessFlowManager的call方法。方法的简单说明如下:

public ClientObjectWrapper call(java.lang.String processTemplateName,
ClientObjectWrapper inputMessage);

因此,我们需要构建一个代表输入参数的ClientOjbectWrapper。生成一个代表输入参数的ClientObjectWrapper有多种方式,这里采用先构建一个DataObject,然后调用ClientObjectWrapper构造方法的方式。具体代码实现如下:



ServiceManager serviceMgr = new ServiceManager();
            BOFactory bofactory = (BOFactory)serviceMgr.locateService("com/ibm/websphere/bo/BOFactory");
            DataObject input = bofactory.createByElement("http://HelloWorld/HelloWorldInterface", "hello");
            input.setString("helloInput", msg);
            ClientObjectWrapper inputWrapper = new ClientObjectWrapper(input);
            

BOFactory的createByElement根据流程的WSDL接口生成一个代表参数的一个DataObject。在生成代表输入的ClientObjectWrapper之后,调用流程就变得相对比较简单,具体代码片断如下:



ClientObjectWrapper outputWrapper = mgr.call("HelloWorldProcess", inputWrapper);
            DataObject output = (DataObject) outputWrapper.getObject();
            resp = output.getString("helloOutput");
            

posted on 2007-06-25 16:12 安文豪 阅读(1382) 评论(1)  编辑  收藏

FeedBack:
# re: 客户端调用BPEL流程的几种方法(转)
2007-09-07 22:19 | 向大侠求救!!!
大侠,我在学IBM SOA相关产品,可惜苦于没有资料,请联系我:nbdragon@263.net, 有酬谢!!!  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2007年6月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(6)

随笔档案(28)

文章分类(3)

文章档案(4)

最新随笔

搜索

  •  

积分与排名

  • 积分 - 85936
  • 排名 - 663

最新评论

阅读排行榜

评论排行榜