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

我是BPEL的初学者。

我在其中创建了一个BPEL流程和数据适配器,现在我想从我的自定义Java代码中执行该数据适配器,有什么方法可以做同样的事情。
谢谢

最佳答案

您正在使用什么版本?如果您添加有关设置的更多详细信息,这将很有用。
大胆猜测,这可能会帮助您:

控件将导出为合作伙伴链接。该伙伴链接的操作源自控件JCX文件中的方法。每个方法参数都被视为一个单独的输入消息部分;零件的名称与参数的名称相同。根据控制方法的返回类型确定输出消息。它具有称为参数的单个部分,因为方法具有单个不带名称的返回类型。

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

编辑:

经过一些研究,我了解您使用的是WLI8.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

关于java - 从WLI迁移到人员工作流程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5320753/

10-09 06:25