技术开发 频道

将EJB服务与WebSphereProcessServer集成

  要将 EJB 集成到 WebSphere Process Server SCA 组件中,请执行以下步骤:

  创建名为 InvokeEcho 的模块。

  从 Dependencies editor 选择 EchoEJBClient 作为依赖 Java 项目,并单击 Add,以将 EchoEJBCLient 作为依赖 Java 项目添加。

  图 6. 添加依赖关系

  此时务必添加模块依赖关系。稍后添加接口时,向导才能够找到远程 EJB 接口。

  从 Assembly editor 中打开模块 InvokeEcho,在画布上添加一个 Import 组件。将名称更改为 EchoEJB。

  图 7. 添加 Import 组件

  为导入添加接口:

  单击 Add Interface 图标。

  在随即出现的窗口中选择 Show Java。

  在 Filter by interface 字段输入 echo。

  从 Matching interfaces 中选择 Echo。此接口来自项目 /EchoEJBClient/ejbModule(请参阅图 8)。

  图 8. 为导入添加接口

  单击 Ok 并保存模块关系图。

  图 9. 带接口的导入

 

  生成会话 EJB 绑定。

  右键单击 EchoEJB 导入,并选择 Generate Binding => Stateless Session Bean Binding。

  图 10. 添加绑定

  请注意导入中的图标变化(请参阅图 11)。

  图 11. 带接口绑定的导入

  选择 Properties 视图,然后选择 Binding 选项卡。可以看到 JNDI name 字段现在已填充(请参阅图 12)。

  图 12. 指定绑定的 JNDI 名称

  创建 Java 组件

  要创建 Java 组件,请执行以下步骤:

  将 Java 组件拖放到 assembly 画布上,并将名称改为 InvokeEcho(请参阅图 13)。

  图 13. 添加 Java 组件

  创建名为 InvokeEchoInterface 的接口,其中包含一个单向操作 callEcho 和一个输入参数:

  图 14. 创建接口

  选择 Java 组件,并为其添加一个接口 InvokeEchoInterface。

  将 InvokeEcho 和 EchoEJB 连接到一起(请参阅图 15)。

  图 15. 连接 Java 并导入组件

  请注意已生成了引用 EchoPartner。我们将在 Java 组件实现中使用它(请参阅图 16)。

  图 16. 合作伙伴引用

  选择并右键单击 Java 组件,然后生成缺省 Java 实现。当实现打开后,使用以下代码替换 callEcho 方法:

1 try {
2
3   System.out.println("in callEcho");
4
5   // Create an instance of the ServiceManager
6
7   ServiceManager serviceManager = new ServiceManager();
8
9   Echo echo= (Echo)serviceManager.locateService("EchoPartner");
10
11   String result = echo.echoSimple(name);
12
13   System.out.println("called imported EJB, and response is " + result);
14
15   } catch (Exception e) {
16
17   e.printStackTrace();
18
19   }
20
21

  运行并测试方案

  要测试方案,请执行以下步骤:

  右键单击 InvokeEcho 并选择 Test Component。

  在测试配置中,删除 EchoEJB 的模拟器,因为我们希望调用实际的 EJB 实现。

  在 name 字段中输入一个值,然后单击 Continue。

  图 17. 组件测试 1

  请注意是否收到预期结果。

  图 18. 组件测试 2

  请注意 System.out 输出的结果。

  图 19. 组件测试 3

  祝贺您现在已经成功从 SCA 组件 InvokeEcho 中导入 Echo EJB 并进行了调用。在此方案中,SCA 模块和 EJB 服务在同一服务器上运行。

  结束语

  本文帮助您实现了集成 EJB 服务的 WebSphere Process Server 解决方案。正如您所看到的,从 SCA 组件使用 EJB 服务非常容易。采用这种方式重用基于 EJB 的服务可为 WebSphere Process Server 等集成产品的应用带来大量机会。

0
相关文章