技术开发 频道

通过WPS和WID方便地使用Java构件

简化的方法

    如何将 BookManager EJB 服务与 BPEL 流程集成?如果您使用的是 Integration Developer V6.0.1 或更早版本,则需要执行许多手动工作,其中包括为 EJB 方法参数 Java Bean 创建业务对象、创建匹配 EJB 接口的 WSDL 接口和创建 Java 桥接 SCA 组件。该流程非常耗时,并且容易出错,这将大大影响现有 Java 或 EJB 构件的重用。

    幸运的是,使用 Integration Developer V6.0.2 中的高级工具支持,可以自动完成所有上述任务,这样可以更容易地使用 SCA 组件的任何 Java 或 EJB 服务。

    让我们使用新的方法和工具支持来继续该示例。

拖放

  1. 首先在 BookManagerEJB 外创建 EJB 客户端项目通过选择 Window => Show views => Other... 打开 Navigator 视图,然后右键单击 BookManagerEJB 项目(图 5)。

  2. 返回到 Business Integration 视图,打开模块 BookOrderingProcess 的组装图。该图应该是空的。

  3. 打开 Navigator 视图,展开 BookManagerEJBClient 项目,选择 BookManager.java,然后将其拖放到空画布中(图 6)。

    图 6. 向组装图添加项目
    图 6. 向组装图添加项目

  4. 对话框会显示,询问要创建什么类型的组件。本例中为 Import with Stateless Session Bean Binding(图 7)。

    图 7. 创建 EJB 导入
    图 7. 创建 EJB 导入

  5. 单击 OK。再次询问您是否需要创建映射组件。单击 Yes(图 8)。

    图 8. 创建映射组件
    图 8. 创建映射组件

  6. 最后的步骤将询问您是否将 BookManagerEJBClient 项目作为 Java 依赖项添加到流程模块。单击 OK。(图 9)。

    图 9. 管理项目依赖关系
    图 9. 管理项目依赖关系

  7. 图 10 显示了完成拖放后的关系图。您有一个 Java 映射器组件和一个 EJB 导入组件。

    图 10. 完成的组装图
    图 10. 完成的组装图

检查生成的构件

    正如您前面看到的,两个组件是自动生成并放入组装图的。还有一个 SCA POJO 组件,它是前面讨论的桥接/映射代码。它具有 W 类型的接口,但是它还具有连接到 EJB 导入组件的 J 类型引用。如果打开 Navigator 视图,则将看到基础构件(图 11)。

图 11. 组装图背后的构件
图 11. 组装图背后的构件

完成 BPEL

    您现在可以完成 BPEL,并使用生成的构件来访问 EJB 服务(图 12)。(BPEL 开发的详细信息不在本文的讨论范围之内,所以这里仅列出主要步骤。)

  1. 在 BPEL 编辑器中打开 BookOrderProcess。在 Business Integration 视图中,找到 BookManager 接口,并将其拖放到引用的合作伙伴调色板。

  2. 创建两个变量:ArrayofBook 类型的 BookList 和 String 类型的 Category

  3. 创建 AssignCategory,它可以将 OrderInput 目录属性映射到变量目录。

  4. 将 GetRecommendedBooks 节点更改为调用活动,并填充属性的详细信息。

    图 12. 完成的 BPEL
    图 12. 完成的 BPEL

  5. 请使用下面的代码作为指导在 DisplayBooks Java 代码片段中输入一些示例数据详细信息,并保存更改。

        
    System.out.println("Get result from EJB services"); List books = BookList.getList("Book"); DataObject bookBO = (DataObject)books.get(0); System.out.println("Book Name: " + bookBO.getString("title")); System.out.println("Book Author: " + bookBO.getString("author"));

  6. 返回到组装图,并将 BPEL 流程组件放在其中。在组装图中,从业务流程组件到桥接组件的 WSDL 接口建立连接。编辑器在 BusinessProcess 组件上创建匹配的 WSDL 引用,以完成桥接。Facade 映射组件不包括任何业务逻辑;它只支持 Java 接口和 WSDL 引用之间的连接。图 13 中的组装图显示了 BusinessProcess 组件通过桥接组件连接到 SLSBImport Java 导入。

    图 13. 完成的业务流程
    图 13. 完成的业务流程 

0
相关文章