PI 7.4 - 使用 EJB 3.0 创建 Adapter Module

    下 面提到的场景非常常见,需要为此实现adapter module。下面的示例还将有助于使用 EJB 3.0 在 SAP PI 7.4 中构建adapter module。

  

场景:

业务要求是在 FTP 上将文件从一个文件夹传输到多个文件夹。文件以整合的方式存在于源端,需要根据文件名放在目标端的不同文件夹中。

对于此方案:仅在 Integration Directory 中完成配置,不构建 ESR 对象。


ESR 对象不是必需的,因为文件需要从一个目录传输到另一个目录。并且不需要消息映射或数据处理。因此,配置直接在 ID 中完成,涉及通信通道、接收方确定、接口确定、发送方协议和接收方协议。

该方案中涉及的两个主要组件是:

发件人通信渠道:

此通道需要从 source 目录中选择多个文件。为此,可以使用发送者通信通道中的“高级选择源文件”选项,或者我们可以在文件名中输入 *.* 以从源目录中选择所有文件。

“源文件的高级选择”选项如下所示:


接收器通信通道:

此通道需要将文件放在 FTP 上的不同文件夹中。为了使单个通信通道将
文件动态地放置在不同的文件夹中,需要开发一个适配器模块,该模块将在
运行时选择目标目录名称和文件名方案。

适配器模块 FileAdapModule 在下面突出显示。

SAP PI 7.4 的适配器模块创建过程:

下面详细介绍了构建适配器模块所需的配置和步骤:

  1. 安装最新版本的 NWDS 7.3 EHP 1。可用的最新版本的 NWDS 是 NWDS 7.3 EHP1 SP 12。
  2. 在 NWDS 中使用 JDK 1.6.0_07 或更高版本来构建项目。
  3. 需要从 SAP PI 系统导入以下 JAR 文件,以创建适配器模块。JAR 文件及其在 PI 系统上的位置如下所述:
  4. 在 NWDS 中创建 EJB 项目和会话 Bean:要构建适配器模块,需要创建 EJB 项目,并且需要在包含业务逻辑的 EJB 项目中创建无状态会话 Bean。


在 NWDS 中:转到File – New – EJB Project

如下所述输入 EJB 的详细信息,然后单击 Next:选择 EJB Module Version 作为 3.0 并将其添加到 EAR 项目中。

取消选中 client interfaces and classes 复选框。选中“Generate ejb-jar.xml”部署描述符复选框,然后单击 Finish。

将创建一个 EJB 和 EAR 项目,如下所示。EJB 项目包含业务逻辑,因为部署需要 EAR Poject。

5. JAR 添加到 EJB 项目的文件:由于 Adapter Module 需要标准的 SAP JAR 文件进行编译,因此需要将这些 JAR 文件添加到 EJB 项目中。


将步骤 3 中提到的所有 JAR 文件放在本地计算机的 Folder 中。

右键单击 EJB 项目,然后选择 Build Path – Configure Build Path。

选择 Library 选项卡,然后单击 Add Variable

从计算机中选择 JAR Files 文件夹,然后单击 Extend:

选择所有 JAR 文件,然后单击 OK。

   

6. 将无状态会话 bean 添加到 EJB 项目中:

右键单击 EJB 项目,然后选择 New – Session Bean (EJB 3.x)

输入会话 Bean 详细信息,如下所述:

  • 输入 Java 软件包和类名称。
  • 选择 State type (状态类型) 作为 “Stateless(无状态)”。
  • 选中 Remote (远程) 和 Local Interfaces (本地接口) 复选框。

点击 下一步 和 完成。会话 bean 将添加到 EJB 项目的上述包中,如下所示:

打开 FileAdapModule.java 文件和逻辑以确定 Directory 和 File names 将添加到此 java 文件中。在 bean 中添加一个 Method ModuleData 进程(ModuleContext、ModuleData),如下所示。参考代码附在附件部分。

   右键单击 EJB 并生成项目。

7. 在 EJB 项目中,如下所述维护 META-INF 文件,以便正确部署。附上 ejb-jar.xml 文件以供参考:

维护ejb-j2ee-engine.xml文件,如下所示:

8. 导出 EJB Jar 文件EJB 的源代码和类文件存储在 JAR 文件中,该文件部署在 J2EE 服务器上。

右键单击 EJB 项目,然后选择 Export – SAP EJB JAR File。

   

选择 EJB 项目和目标,如下所述:

   

9. EAR 项目设置:

      此项目包含 EJB 项目 JAR 文件,并具有 application-j2ee-engine.xml 文件形式的 SAP 标准 EAR 内容。

         

打开 application-j2ee-engine.xml 文件并输入下面附带的源代码。 像 EJB 项目一样构建 EAR 项目。

10. 导出 EAR 文件以进行部署


 

  • 右键单击 EJB 项目,然后选择 Export – SAP EJB JAR File。
  • 选择 EAR 项目和目标,如下所示。

     


11. EAR 部署和设置:将 PI 系统设置为 NWDS 中的部署系统:


 

  • 转到窗口 – 首选项 – SAP AS Java,然后单击添加。
  • 提供 详细信息 ,系统将被添加,如下所示。

在 PI 系统上部署 EAR 项目,如下所示:

  • 右键单击 EAR 项目,然后选择 Run As – Run on Server。
  • 选择需要在其上进行部署的 PI System。
  • 选择需要部署的 EAR 工程,然后单击 Finish。


步骤屏幕截图如下:


在 Deployment View Console 中,可以检查 deploymnet 状态。检查应无误进行。

这如下面的屏幕截图所示

12. 通信通道设置

   

Sender Communication channel (发送方通信通道) – 作为源文件名,接收方适配器模块需要选择相应的目录。

在 发件人 渠道 中,需要选中 ASMA 属性 - 文件名 复选框。

接收器通信通道


适配器模块需要动态设置 Directory Name 和 File name,因此需要在 ASMA 属性复选框中选中 File Name 和 Directory。

  • 自定义适配器模块(由 EJB 中提到的 JNDI 名称标识)需要添加到标准 SAP 模块上方的 Module 选项卡中。
  • Directory path 作为参数传递给自定义适配器模块逻辑,因此需要将其添加到 Module Configuration 部分中,如下所示。
  • 然后运行方案,可以在 Communication Channel monitoring 中检查审核日志,其中还将包含自定义适配器模块调用的跟踪。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值