从WLI迁移到Human工作流程

时间:2011-03-16 03:31:40

标签: java soa jdeveloper bpel wli

从weblogic WLI worflow迁移到BPEL Human工作流时,我们有什么选项可以让jcx文件与数据库进行交互。 任何人请参阅任何文件...... 例;在我现有的应用程序中,我们从数据库中选择一些值,在BPEL中我们将如何实现相同的目标..

我是BPEL的初学者..

我已经在其中创建了一个BPEL流程和数据适配器,现在我想从我的自定义java代码执行该数据适配器,有没有办法做同样的事情.. pelase指南... 感谢

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本?如果您添加有关设置的更多详细信息,这将非常有用。 粗略猜测,这可能对您有所帮助:

控件导出为合作伙伴链接。此伙伴链接的操作源自控件JCX文件中的方法。每个方法参数都被视为一个单独的输入消息部分;部件的名称与参数的名称相同。输出消息由控制方法的返回类型确定。它有一个叫做参数的部分,因为一个方法只有一个没有名字的返回类型。

http://download.oracle.com/docs/cd/E13214_01/wli/docs85/bpel/export.html#1061022

修改

经过一些研究后,我了解到您使用的是WLI 8.x.如果您在导出JPD时遇到问题,上面的链接可以帮到您 另一种方法是将8.x项目导入10g3项目,然后从那里导出。在此方法中,您可以生成符合BPEL2.0的工作流程。 警告:这是一次性导入,并且无法通过早期的WLI版本访问该项目。所以,试试副本。

你问题的第二部分不清楚。 从Java代码调用控件与调用Web服务相同。作为EJB调用/转换的WLI control将转换为Web服务portType。您可以从Java应用程序中使用这些Web服务(例如,使用Axis。)

例如:如果我尝试转换JPD SomeWorkflow.jpd,并且我的JPD(WLI 8.x)有控件

/**
 * @common:control
 */
private com.appmills.someapp.controls.TestDBCtrl dbctrl;

或者,或者10g3

    @Control()
    private com.appmills.someapp.controls.TestDBCtrl dbctrl;

导出会创建三个文件SomeWorkflow.bpelSomeWorkflow.wsdlSomeWorkflow_ctrl.wsdl
生成的代码为:

<plnk:partnerLinkType name="com.appmills.someapp.controls.TestDBCtrl">
    <plnk:role name="control">
      <plnk:portType name="ctrl:com.appmills.someapp.controls.TestDBCtrlPT"  
                    xmlns:ctrl="http://www.bea.com/workshop/bpel/ctrl"/>
    </plnk:role>
  </plnk:partnerLinkType>

编辑2:
生成的控件WSDL(在上面的示例SomeWorkflow_ctrl.wsdl中)不包含<binding><service>标记。这些都是您无法定义的。假设你在某处可以使用这些,并且必须简单地将它们连接起来。

您可能知道,Oracle-SOA中的JCX等效项是JCA。 WLI和Oracle-SOA之间没有直接的导出导入。这意味着根据您当前的代码复杂性和迁移计划,可能会有不同的努力 在我看来,对于JDBC Control具体而言,最简单的解决方案是将它们重写为Database adapter s。