随着 SAP Process Integration 7.31 SP2 和 Process Orchestration 7.31 SP2 的发布,引入了 Eclipse 工具来构建端到端 (E2E) 集成场景。在发布本文时,Eclipse 工具与现有的 Swing 工具一起使用。尽管新的 Eclipse iFlow 工具使旧的 Swing Integration Directory 客户端过时,但为了构建具有映射的 E2E 集成场景,iFlows 应该与 Enterprise Service Repository (ESR) Swing 客户端结合使用。
Eclipse iFlow 工具具有 ESR swing 客户端的一些功能,例如创建 SWCV、消息类型、映射、服务接口等,但它缺少对开发单元测试至关重要的映射测试工具。将来,我们将能够仅使用 Eclipse 工具构建完整的端到端场景,而 Swing 客户端可能会过时。
在我们开始使用 iFlow 创建我们的第一个 E2E 场景之前,我们需要安装 NWDS 以进行 PI/PO 开发。
演示使用的 SAP 版本:
- SAP PO 7.5
端到端场景概述示例:
让我们创建一个集成方案来处理从组件“BC_TEST_SENDER”发送的采购订单 XML。如果 XML 文件内容中的“Destination_name”为“AMAZON”,则应以 iDoc 格式将消息发送到 BC_TEST_AMAZON。否则,应将 XML 消息转发到“BC_TEST_RECEIVER”。
因此,我们需要在发送方 XML 格式和接收方 iDoc 格式之间使用一个消息映射。但是 ESR 对象的创建不会在文章中展示,因为它旨在说明如何创建 iFlow。
第 1 步:在 Eclipse NWDS PI Explorer 中创建业务组件。
对于此方案,我们需要创建三个不同的 Business Components。BC_TEST_SENDER、BC_TEST_AMAZON 和 BC_TEST_RECEIVER。您还可以将现有的 Business Systems 或 Business Components 用于自己的场景。
右键单击 'Systems' 并选择 'New Business Component' 创建一个新组件。
在 NWDS 中创建新的业务组件
创建新的业务组件 'BC_TEST_AMAZON'
同样,创建其他两个业务组件 BC_TEST_SENDER 和 BC_TEST_RECEIVER。
第 2 步:创建服务接口、消息映射和操作映射。
使用 Swing 客户端或 Eclipse NWDS 创建 ESR 对象。我们将有一个出站服务接口“PurchaseOrder_Out_Async”和一个 iDoc 接收器入站服务接口“PORDCR1。FSHPORDCR' 的 Amazon 的 API 请求。此外,还有一个用于 BC_TEST_RECEIVER 的虚拟 Inbound Service Interface,因为它是没有映射的直通。
应在 XML 文件发送方服务接口和 iDoc 接收方入站接口之间创建操作映射。还应为 XML 发件人格式和 iDoc 消息类型创建消息映射。
第 3 步:创建 XML 文件发送方、文件接收方和 iDoc 接收方通信通道。
通过右键单击发件人业务组件“BC_TEST_SENDER”来创建发件人通信渠道。配置 Communication Channel 参数。
创建Sender File Communication Channel
Sender Communication Channel 名称和说明
保存并激活。
保存和激活 Communication Channel
同样,在“BC_TEST_RECEIVER”下为业务组件“BC_TEST_AMAZON”和 XML 文件接收器通道创建 iDoc 接收器通道。
第 4 步:创建新的集成流 (iFLow) 并选择 iFlow 模式。
创建新的 Integration Flow
选择适当的集成模式并设置 iFlow 的名称和 ID。由于示例场景涉及一个发送方和多个接收方,因此我选择了“Recipient List”接口模式
选择 integration scenario 模式
步骤 5:选择 集成流的 Sender System 和 Receiver System。
下一步是选择与集成场景相关的所有系统。单击“浏览”,然后从下拉列表中选择发送方系统和接收方系统。
选择与 iFlow 相关的发送方和接收方系统
转到“Receiver Systems”选项卡并添加两个接收器系统。
从下拉列表中选择所有接收系统
单击 Finish。
当您分配 Business Systems 并单击 “finish” 时,将创建 iFlow 的框架。您的下一步将是填补 iFlow 中缺失的部分,例如服务接口、映射、通信通道、接收器规则等。
iFlow 的初始状态
步骤 6:分配服务接口。
在此步骤中,我们将填写与每个系统相关的所有 Service Interfaces。发送方出站接口、接收方 iDoc 接口和虚拟接口,用于无映射的直通。
右键单击 Interface 组件并选择 'Assign Interface'。从下拉列表中选择正确的接口。对于发件人“BC_TEST_SENDER”,我分配了“PurchaseOrder_Out_Async”出站接口。
指定 Sender Outbound Service Interface
同样,从下拉列表中分配 iDoc Receiver Inbound Interface。
iDoc Receiver Interface
第 7 步:分配通信通道。
将在步骤 3 中创建的通信通道分配给 iFlow。右键单击 'Channel Adapter' 箭头,然后选择 'Assign Referenced Channel' 选项。可以从下一个窗口的 Communication Channels 列表中选择 Communication Channel。
我们使用了“分配引用的渠道”,因为我们之前在步骤 3 中创建了所有通信渠道。但是,可以使用选项“配置通道”在此处创建新的通信通道。
将通信通道分配给 iFlow
从下拉列表中选择通信通道
重复该步骤,将其余通信通道分配给 iFlow。iDoc 接收器通道BC_TEST_AMAZON 和 File 接收器 Chanel BC_TEST_RECEIVER。
第 8 步:定义接收方规则。
在此步骤中,我们将根据 XML 的 Xpath 创建 Receiver Condition,以路由应发送到 Amazon 的消息。要插入条件,请右键单击 'Condition' 箭头,然后选择 'Define Condition'。
定义路由条件
选择 Xpath 并定义条件,如下所示。为字段 <Destination_name> 和值 'AMAZON' 定义 Condition。
Xpath 规则
我们还可以使用 Xpath 的上下文对象 instread 来定义相同的接收规则。
第 9 步:将 Mapping 添加到 iFlow。
右键单击“条件”箭头,然后从列表中选择“添加映射”选项,以将映射步骤添加到 iFlow。
将 Mapping 添加到 iFlow
当您向 iFlow 添加新的 Mapping 时,它将创建一个名为 'Mapping' 的块。右键单击“映射”,然后选择“分配映射”选项,以选择在 ESR 中为 XML 发送器创建的 iDoc 接收器的操作映射。
将 Mapping 程序分配给 iFlow
第 10 步:保存、激活和部署 iFlow。
如果您已完成所有步骤并成功分配了 Service Interfaces、Mapping、Receiver Rule、Communication Channels,您应该能够在保存后激活 iFlow。如果激活成功,请部署 iFlow。
激活和部署 iFlow
完整的 iFlow 激活和部署
第 11 步:检查 iFlow 是否已成功部署。
进入 集成目录 并检查 iFlow 是否部署成功。
激活并部署 iFlow 后,将创建相应的集成目录对象,例如“集成流”和“集成配置对象 (ICO)”。
ntegration Directory 中的集成流程
在 ID 中新创建的 iFlow
从 iFlow 创建的 Integration Configuration 对象