理解 SAP Integration Suite 的事件网格能力
学习目标
识别 SAP Event Mesh 的功能与模式。
Event Mesh 功能概览
除了独立的 SAP Event Mesh 解决方案之外,Event Mesh 也可作为 SAP Integration Suite 中的一项功能使用。其功能与独立版本完全相同,但实施方式与使用方式有所不同。
支持的模式:
SAP Integration Suite 中的 Event Mesh 功能支持以下事件驱动架构(EDA)模式:
发布/订阅
核心功能,允许多个订阅者接收事件,从而实现系统的松耦合
点对点
通过队列在发送方与接收方之间进行直接消息传递,实现定向投递
部署选项:
Event Mesh 仅作为 SAP Integration Suite 中的一项功能提供。
应用场景
SAP Integration Suite 中的 Event Mesh 功能可应用于现代企业环境中的各种场景。
在企业应用集成领域,它支持 SAP S/4HANA、SAP BTP、SAP SuccessFactors 等系统与第三方应用之间基于事件的集成。这种方式降低了系统依赖,并支持响应式架构。
在 IoT 集成与边缘计算方面,它将 IoT 传感器和边缘设备与企业系统连接起来。一个典型的例子是制造业中的预测性维护,来自机器的实时数据可实现主动服务并减少停机时间。
在全渠道客户体验方面,它为电子商务、银行或服务环境中的客户提供实时通知。它还确保电子商务、CRM 和 ERP 系统之间的同步,从而实现一致且无缝的客户旅程。
在金融交易与支付系统方面,它支持金融交易的异步处理。同时,它确保数据完整性与可靠的消息投递,这是金融环境中至关重要的需求。
了解更多
Exploring the Event Mesh capability of SAP Integration Suite:一个 YouTube 视频,深入探讨 SAP Integration Suite 中的 Event Mesh 功能,展示其特性、应用场景与实际应用。
概览:应用场景与练习
我们将设计并实施一个满足以下业务需求的解决方案架构:当 SAP S/4HANA Cloud Public Edition 中的业务伙伴(Business Partner)记录发生更改时,需向 SAP Integration Suite 中的 Event Mesh 功能发送一个更改事件。一个 iFlow 接收该事件并对其进行进一步处理。
在本示例中,我们仅限处理单个更改事件。iFlow 中的处理由一个简单的 Groovy Script 完成。
该实施横跨多个系统并涉及多种角色。不过,为了更好地概览,我们有意不作严格的角色划分。这意味着不在 SAP BTP 管理员、集成专家、SAP S/4HANA 管理员或开发人员之间进行区分。
说明
SAP Integration Suite 被订阅到一个 SAP BTP 子账户。
创建一个使用 message-client 计划的 Event Mesh 实例。
在 SAP Integration Suite 的 Event Mesh 功能中创建队列和主题订阅。
SAP Integration Suite 中的 Cloud Integration 功能从队列中取回事件并进行处理。
SAP S/4HANA Cloud, Public Edition 触发该事件。
演示过程说明
下面将详细描述每一个步骤。
登录 SAP BTP 子账户。
登录 SAP Integration Suite 并激活 Event Mesh 功能。
激活 SAP Integration Suite 中的 Cloud Integration 功能。
为平台用户添加必要的角色集合。
通过创建 SAP Integration Suite, Event Mesh 实例 来创建消息客户端。
通过在 SAP Integration Suite, Event Mesh 实例 上创建服务密钥来创建 OAuth 2.0 客户端。
创建 Event Mesh 队列。
登录 SAP S/4HANA Cloud Public Edition。
创建一个 通信安排(Communication Arrangement) 作为通信通道。
为该通信通道配置一个 出站主题(Outbound Topic) 。
在 Event Mesh 队列中创建订阅。
为 Cloud Integration 中的入站适配器创建访问授权。
创建一个 iFlow,以从 Event Mesh 队列中取出业务事件(Cloud Event)。
Demo:Watch Demo(SAP 官方交互式练习)
任务 1:登录 SAP BTP 子账户
Event Mesh 功能托管在 SAP BTP 子账户中的 SAP Integration Suite 内。因此,用户必须首先登录相应的 SAP BTP 子账户。在此步骤中,我们登录开发用 SAP BTP 子账户。
前提条件
必须为平台用户分配角色集合 Subaccount Administrator。
步骤
登录 SAP BTP 子账户
访问:
https://emea.cockpit.btp.cloud.sap选择全局账户和子账户。以下是示例——
CLD900-DEV-CO21。使用用户名和密码对 SAP IDP 或自定义 IDP 进行身份验证。
结果
用户以 SAP BTP 管理员身份登录到开发用 SAP BTP 子账户。
更多信息
Event Driven Integrations - Video:事件驱动集成:探索 SAP Integration Suite 的 Event Mesh 功能。
在 SAP Integration Suite 中激活 Event Mesh 功能
由 SAP S/4HANA Cloud, public edition 触发的事件会异步发送到 SAP Integration Suite 中的 Event Mesh 功能。事件会暂存在那里的一个队列中。因此,必须先激活 Event Mesh 功能。
在本练习中,将激活 SAP Integration Suite 中的 Event Mesh 功能。
前提条件
角色集合 Integration_Provisioner 和 Subaccount Administrator 已分配给激活该功能的用户。
服务计划为 free 或 standard edition 的 SAP Integration Suite 实例已订阅到该子账户。
Demo:Watch Demo(SAP 官方交互式练习)
Note
For participants attending an on-site training only: This exercise will be discussed theoretically by your trainer and will not be carried out on the training system.
任务 1:在 SAP Integration Suite 中激活 Event Mesh 功能。
步骤
登录 Integration Suite。
导航到 Home。
根据功能是否已被激活,此处会显示已激活的功能。在本例中,尚未激活任何功能。
搜索 Add Capabilities 磁贴。
点击 Add Capabilities 链接。
点击 Add Capabilities 按钮。
选择 Manage Business Events。
激活 Event Mesh。
点击 Next。
然后,点击 Activate 按钮。
如果操作成功,将显示已激活的 Event Mesh 功能。
点击 OK 按钮返回 SAP Integration Suite 欢迎页面。
结果
Event Mesh 功能已在 SAP Integration Suite 中激活。但是,由于缺少所需的授权,Event Mesh 功能尚无法使用。这些授权将在后续练习中分配。
在 SAP Integration Suite 中激活 Cloud Integration 功能
需要从 Event Mesh 中读取由 SAP S/4HANA Cloud 触发的事件,并触发进一步的处理。为此使用了 Cloud Integration 功能。
在本练习中,将激活 Cloud Integration 功能。
前提条件
必须为激活该功能的用户分配 Integration_Provisioner 和 Subaccount Administrator 角色集合。
服务计划为 free 或 standard edition 的 SAP Integration Suite 实例已订阅到该子账户。
Demo:Watch Demo(SAP 官方交互式练习)
Note
For participants attending an on-site training only: This exercise will be discussed theoretically by your trainer and will not be carried out on the training system.
任务 1:在 SAP Integration Suite 中激活 Cloud Integration 功能
步骤
登录 Integration Suite。
导航到 Home。
根据功能是否已被激活,此处会显示已激活的功能。在本例中,Event Mesh 已被激活。
搜索 Manage Capabilities 磁贴。
点击 Manage Capabilities 链接。
点击 Add Capabilities 按钮。
选择 Build Integration Scenarios。
点击 Next。
选择 Production 或 Non-Production 作为环境。
激活消息队列。
点击 Next。
点击 Activate。激活过程最多可能需要一个小时。
结果
Cloud Integration 成功激活后即可使用。如果已激活 Message Queues,则会显示详细信息。
更多信息
Cloud Integration:Cloud Integration 是一项强大的功能,可在各种 IT 环境(无论是基于云的、本地部署的,还是混合环境)中实现无缝通信与数据交换。它支持广泛的集成场景。
分配所需的角色集合
在激活 Event Mesh 和 Cloud Integration 之后,必须授予用户使用这些功能所需的权限。在 SAP Business Technology Platform 中,这是通过分配角色集合来完成的。
在本练习中,将为子账户内的一个应用用户分配角色集合。
前提条件
执行分配的用户必须具有 Subaccount Administrator 角色集合。
在 SAP Integration Suite 中,必须已激活 Cloud Integration 与 Event Mesh 功能。
Demo:Watch Demo(SAP 官方交互式练习)
任务 1:为应用用户分配所需的角色集合
步骤
为应用用户分配所需的角色集合。在我们的场景中,应用用户与平台用户是同一个用户。
登录该子账户的 SAP BTP cockpit。
打开 Security→Users,找到应为其分配角色集合的应用用户。
在右侧,点击应用用户名所在行末端的黑色小三角。
在用户字段右侧会打开一个面板。
可使用滑块放大右侧面板。
点击搜索字段右侧的三个点,然后点击 Assign Role Collections 链接。
分配 Event Mesh 的角色集合。 SAP Integration Suite 中的 Event Mesh 功能提供两个预定义的角色集合。不同角色之间不作区分。 | 名称 | 描述 | | --- | --- | | EventMeshAdmin | 管理消息代理、队列和主题订阅,并监控 Event Mesh 的使用情况及其资源。 | | EventMeshDevelop | 管理队列和主题订阅,并监控 Event Mesh 的使用情况及其资源。 |
选择这两个角色集合。
然后,点击 Assign Role Collections 按钮。
分配 Cloud Integration 的角色集合 Cloud Integration 功能提供四个预定义的角色集合。同样,不进行角色区分。 | 名称 | 描述 | | --- | --- | | PI_Administrator | SAP Process Integration——面向管理员 | | PI_Business_Expert | SAP Process Integration——面向可访问关键业务数据的业务专家 | | PI_Integration_Developer | SAP Process Integration——面向开发集成流的用户 | | PI_Read_Only | SAP Process Integration——面向无权访问关键业务数据的支持用户的只读访问 |
像之前一样继续执行分配。
如下图所示,选择所有角色集合。
然后,点击 Assign Role Collections 按钮。
结果
该应用用户现在已分配到 Event Mesh 和 Cloud Integration 的所有角色集合。该用户现在可以访问 Event Mesh 和 Cloud Integration。
登录 SAP Integration Suite。
在 SAP Integration Suite 的菜单栏中,已激活的功能(尤其是 Cloud Integration 和 Event Mesh)现在可见并可使用。
更多信息
Configuring User Access to SAP Integration Suite:SAP Help:配置对 SAP Integration Suite 的用户访问,包括对角色集合及其权限的详细说明。
创建 SAP Integration Suite, Event Mesh 实例
使用 SAP Integration Suite 中的 Event Mesh 功能需要创建消息客户端。这通过在 SAP BTP cockpit 中的 Services→Instances and Subscriptions 下创建一个使用 message-client 服务计划的 SAP Integration Suite, Event Mesh 实例 来完成。
在本练习中,我们将使用 message-client 服务计划创建一个 SAP Integration Suite, Event Mesh 实例。
前提条件
在全局 SAP BTP 账户中,必须已获得 SAP Integration Suite, Event Mesh 服务及 message-client 计划的权利(entitlement)。该服务必须已分配给开发子账户。
必须提供 Cloud Foundry 环境。创建服务实例的用户必须在 Cloud Foundry → Org Member 下列为 Org Manager 。
Cloud Foundry 中必须至少存在一个空间。服务实例部署在 Cloud Foundry 空间内。在本例中,它是一个名为 dev 的空间。
Demo:Watch Demo(SAP 官方交互式练习)
任务 1:创建服务实例
步骤
创建服务实例。
导航到 Services→Instances and Subscriptions,然后点击 Create 按钮。
使用以下值填写表单: | 字段 | 值 | 操作 | | --- | --- | --- | | Service | SAP Integration Suite, Event Mesh | 从下拉列表中选择 | | Plan | message-client | 从下拉列表中选择 | | Runtime Environment | Cloud Foundry | 从下拉列表中选择 | | Space | 例如,dev | 从下拉列表中选择 | | Instance Name | emis-s4hana | 任意名称 |
点击 Create 按钮。
无需在服务描述符中定义任何附加参数。
结果
SAP Integration Suite, Event Mesh 服务已成功创建。
在 SAP Integration Suite, Event Mesh 中已创建一个名为 emis-s4hana 的消息客户端。该名称与实例名称相同。
更多信息
在开始使用 Event Mesh 功能之前先启动消息代理: Initiating the Message Broker
了解如何创建消息客户端以与消息代理通信: Configure A Message Client
为 Integration Suite, Event Mesh 实例创建服务密钥
在将消息客户端创建为 SAP Integration Suite, Event Mesh 实例 之后,会生成一个服务密钥。该密钥提供一个通过 WebSockets 的端点,并支持通过 OAuth 2.0 客户端进行访问。
在本练习中,我们将为先前创建的 Integration Suite, Event Mesh 实例 生成一个服务密钥。
前提条件
一个已成功创建的 SAP Integration Suite, Event Mesh 实例。
Demo:Watch Demo(SAP 官方交互式练习)
任务 1:创建服务密钥
步骤
创建服务密钥
在 Services→Instances and Subscriptions 下导航到 emis-s4hana 服务实例。
点击该服务实例所在行,以在右侧打开详细信息面板。
在 Service Keys 区域中点击 Create 按钮。
使用以下值填写表单: | 字段 | 值 | 操作 | | --- | --- | --- | | Service Key Name | 例如,
sk-emis-s4hana| 任意名称 |然后,点击 Create 按钮以生成服务密钥。
查看服务密钥
点击您刚刚创建的服务密钥的名称。
打开服务密钥后,您会看到三个部分。第 1 部分与我们相关。出于安全原因,某些部分使用以下字符进行了掩码处理:"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
我们通过以下方式与 Event Mesh 通信: | 名称 | 值 | | --- | --- | | Transmission Protocol | AMQP (Advanced Message Queuing Protocol) | | Transport Layer | TCP | | Network Protocol | WebSocket | | WebSocket | URI wss://cld900……./amqp10ws |
使用 clientid、clientsecret 和 tokenurl 可以生成一个 bearer token,以访问 URI 下显示的端点。从技术角度来看,这是一个 OAuth 2.0 客户端。
复制服务密钥 为了在 SAP S/4HANA Cloud 中配置通信通道,我们需要该服务密钥。因此,请复制完整的服务密钥,并将其安全存储以备后用。
在打开的服务密钥窗口中,点击底部的 Copy JSON 按钮,并将服务密钥保存到安全位置。
结果
在 Services→Instances and Subscriptions 下,您现在可以看到生成的服务密钥。
更多信息
Wikipedia 上关于 AMQP 的定义: Advanced Message Queuing Protocol
Wikipedia 上关于 WebSocket 网络协议的定义: WebSocket
在 Event Mesh 中创建新队列
由 SAP S/4HANA Cloud Public Edition 触发的更改事件应暂存在队列中,然后再由使用者消费。为此,必须在先前创建的消息客户端中创建一个队列。
在本练习中,将在通过 SAP Integration Suite, Event Mesh instance 供应的消息客户端中创建一个队列。
前提条件
一个已订阅的 SAP Integration Suite。
一个已激活的 Event Mesh 功能。
必须为平台用户分配 Event Mesh 所需的角色集合。
一个已存在的、使用 message-client 计划的 SAP Integration Suite, Event Mesh 实例 。
在前面的步骤中已创建了一个名为 emis-s4hana 的消息客户端。
Demo:Watch Demo(SAP 官方交互式练习)
任务 1:在消息客户端中创建队列
步骤
在 Event Mesh 的消息客户端中创建队列
登录 SAP Integration Suite。
导航到 Configure→Event Mesh。
点击消息客户端名称
emis-s4hana。选择 Queues 选项卡。
点击 Create 按钮。
为队列提供一个有意义的名称,例如
emis-s4hana-uc123。然后,点击 Create 按钮。
结果
已在 Event Mesh 消息客户端中成功创建一个名为 emis-s4hana-uc123 的队列。
更多信息
Create A Queue:通过 WebSocket 使用 AMQP 1.0 发送消息时,这些消息需要被路由到某处——要么是队列,要么是主题。本指南说明如何在 Event Mesh 中创建队列并配置其关键属性。
登录 SAP S/4HANA Cloud Public Edition
SAP S/4HANA Cloud Public Edition 充当事件生产者。要配置事件框架,我们首先必须以业务用户身份登录 SAP S/4HANA Cloud Public Edition。
在本练习中,我们将使用用户名和密码登录 SAP S/4HANA Cloud Public Edition。
前提条件
在 SAP S/4HANA Cloud Public Edition 中,登录用户必须作为业务用户进行维护,并具有 BR_ADMINISTRATOR 业务角色。
登录 SAP S/4HANA Cloud Public Edition
Demo:Watch Demo(SAP 官方交互式练习)
任务 1:以业务用户身份登录 SAP S/4HANA Cloud Public Edition
步骤
打开相关 URL,例如:
https://myxxxx.s4hana.ondemand.com使用您的用户名和密码登录。
打开 Maintain Business Users 应用。
点击 Maintain Business Users 磁贴。
使用搜索字段搜索您的登录用户,然后点击 Go 按钮。
点击包含您的用户的行。
切换到 Assigned Business Roles 选项卡。
确认您的用户已分配业务角色
BR_ADMINISTRATOR。
结果
该业务用户已成功登录,并已分配 BR_ADMINISTRATOR 业务角色。
更多信息
Authorizing Business Users:了解如何在集成的 SAP 产品中授权业务用户。此过程可确保用户拥有与系统安全交互并有效执行其业务任务所需的适当权限和访问权。
创建用于与 SAP Integration Suite, Event Mesh 通信的通信通道
为使 SAP S/4HANA Cloud Public Edition 能够向 Event Mesh 发送事件,必须在 SAP S/4HANA Cloud Public Edition 中创建一个通信通道作为通信安排。
在本练习中,我们将在 SAP S/4HANA Cloud Public Edition 中创建一个通信安排。身份验证使用 SAP Integration Suite, Event Mesh instance(计划为 message-client)的服务密钥完成。
前提条件
在 SAP S/4HANA Cloud Public Edition 中,登录用户必须作为业务用户进行维护,并具有 BR_ADMINISTRATOR 业务角色。
Demo:Watch Demo(SAP 官方交互式练习)
任务 1:创建通信安排
步骤
登录 SAP S/4HANA Cloud Public Edition。
启动 Communication Arrangements 应用。
点击 New 按钮。
在 Scenario 字段中,搜索并选择方案 ID 为
SAP_COM_0092的 Enterprise Eventing Integration。点击所选条目以确认,并将其传输到 Scenario 字段。
选择方案 ID 后,必须将先前从
SAP Integration Suite, Event Mesh instance创建的服务密钥粘贴到 Service Key 字段中。
Note
粘贴之前,必须在
amqp10ws配置的 messaging 部分中手动为服务密钥添加以下条目:命名空间必须恰好由三个段组成。在本示例中为:demo/ s4hc/e4l。 | 1 ........ | | --- | | 2 "namespace": "demo/s4hc/e4l", | | 3 "messaging": [ ....... |
然后,将扩展后的服务密钥粘贴到 Service Key 字段中。
为安排选择一个名称。它不得以
SAP开头,且不得包含连字符(-)。接下来,分配一个入站通信用户,或使用 New 按钮创建一个新用户。
然后,点击 Create 按钮。
如果一切有效,则通信安排创建成功,例如名称为
ESA-DEMO_0092。 先前输入的值——例如扩展后的服务密钥、命名空间以及通信安排名称——会显示在已创建安排的各个部分中。
结果
已成功创建一个通信安排,使 Enterprise Eventing 方案能够连接到 Event Mesh 消息客户端。它允许将系统事件和自定义事件都发送到 Event Mesh 队列。
更多信息
Create a Communication Arrangement 要实现 SAP 系统与外部系统之间的集成,您需要使用预定义方案来设置通信安排。本指南说明如何使用 SAP_COM_0560 通信方案创建此类安排。
为通信通道配置出站主题
在上一步中,已通过通信安排建立了 SAP S/4HANA Cloud Public Edition 与 SAP Integration Suite 中 Event Mesh 功能之间的技术连接。为启用事件传输,现在必须将事件分配给某个主题。主题充当事件的逻辑地址,并支持在 Event Mesh 内路由消息流量。每个事件都必须分配给一个特定主题,以便订阅者能够接收和处理它。此分配通过在 SAP S/4HANA Cloud 系统中定义相应的事件主题来完成,这些主题随后会通过 Event Mesh 队列进行注册和处理。如果没有这种与主题的绑定,事件就无法在 Event Mesh 中正确发布或消费。
在此步骤中,我们将现有业务事件绑定到先前创建的通信通道。
前提条件
在 SAP S/4HANA Cloud Public Edition 中,登录用户必须配置为具有 BR_ADMINISTRATOR 业务角色的业务用户。
Demo:Watch Demo(SAP 官方交互式练习)
任务 1:分配主题
步骤
将主题分配到通信通道
在 SAP S/4HANA Cloud Public Edition 中,导航到 Enterprise Event Enablement 应用。
找到您刚刚创建的通信安排——此处称为 Channel。在我们的场景中,它是
EDA_DEMO_0092。点击该条目。
将打开一个详细信息页面。
确认已选择正确的通道并且该通道处于活动状态。
选择 Outbound Topic Bindings 选项卡。
点击 Create 链接。
然后,点击右侧搜索字段中的选择图标。
出现一个搜索界面,其中显示系统中所有可用的主题。每个主题对应一个可触发的事件。
通过在搜索字段中输入搜索词
Business来搜索 Business Partner events。然后,选择以下主题: | | | --- | | 1 sap/s4/beh/businesspartner/v1/BusinessPartner/Changed/v1 | 如果分配成功,将显示所选择的主题名称。
复制主题名称。您在 Event Mesh 的下一步中将会用到它。
结果
我们现在已将某个主题(或事件)分配给该通道(即一个通信安排)。至此,SAP S/4HANA Cloud Public Edition 内所有必需的准备工作均已完成。
更多信息
Business Event Handling:探索 Business Event Handling 如何提供一个标准化、系统级的机制,用于管理 SAP S/4HANA Cloud public edition 中与 SAP 对象类型相关的事件。该功能允许应用、合作伙伴和客户消费事件,并使用 SAP Business Technology Platform 扩展业务流程。借助 Event Mesh 等工具采用发布-订阅模式,它可在多个系统中实现事件生产者与订阅者之间的高效通信。
在 Event Mesh 队列中创建主题订阅
在将 SAP S/4HANA Cloud Public Edition 配置为发出业务事件之后,我们现在必须在先前创建的 Event Mesh 队列中注册所选事件的主题名称 sap/s4/beh/businesspartner/v1/BusinessPartner/Changed/v1。
在本练习中,我们将向先前创建的队列添加一个主题订阅。
前提条件
一个已订阅的 SAP Integration Suite。
SAP Integration Suite 中一个已激活的 Event Mesh 功能。
必须为平台用户分配 Event Mesh 所需的角色集合。
一个已存在的、使用 message-client 计划的 SAP Integration Suite, Event Mesh 实例。
Demo:Watch Demo(SAP 官方交互式练习)
任务 1:在先前创建的队列中创建主题订阅
步骤
在先前创建的队列中创建主题订阅**。**
打开 SAP Integration Suite。
导航到 Configure→Event Mesh。
点击先前创建的 Message Client,此处名为
emis-s4hana。将打开一个详细信息视图,显示该消息客户端内配置的所有队列。
点击该队列的名称。
将打开一个新屏幕。
在此处所选队列
emis-s4hana-uc123中点击 Create 按钮。使用以下模式构造主题订阅:
来自扩展服务密钥的命名空间: demo/s4hc/e4l
出站事件的主题名称: sap/s4/beh/businesspartner/v1/BusinessPartner/Changed/v1
分隔符: ce
最终主题订阅:d
emo/s4hc/e4l/ce/sap/s4/beh/businesspartner/v1/BusinessPartner/Changed/v1将主题订阅复制到 Create Topic Subscription 表单的 Topic Name 字段中。
点击 Create 按钮进行确认。
结果
Event Mesh 侧为接收来自 SAP S/4HANA Cloud public edition 的业务事件到 SAP Integration Suite 中的 Event Mesh 功能所需的所有准备工作现已完成。
为入站适配器创建凭据
现在,我们来读取并进一步处理业务事件(Cloud Event)。在以下示例中,我们将使用 Cloud Integration 创建一个 iFlow。该 iFlow 使用 AMQP 入站适配器拉取消息。要配置此适配器,需要 OAuth2 客户端凭据。这些凭据在 Manage Security Material 下管理。
在本练习中,我们将在 Manage Security Material 下创建所需的 OAuth2 客户端凭据。
前提条件
Cloud Integration 功能必须已在 SAP Integration Suite 中成功激活。
必须为集成用户分配 PI_Integration_Developer 和/或 PI_Administrator 角色集合。
为入站适配器创建凭据
Demo:Watch Demo(SAP 官方交互式练习)
任务 1:创建 OAuth2 客户端凭据
步骤
在 Manage Security 下为 AMQP 入站适配器创建 OAuth2 客户端凭据。
在您的 SAP BTP 子账户中,导航到 Services→Instances and Subscriptions。
点击 Integration Suite 链接。
在 SAP Integration Suite 中,转到 Monitor→Integrations and APIs。
点击 Security Material 磁贴。
点击右上角的 Create 按钮。
从下拉列表中,选择 OAuth2 Client Credentials。
使用
SAP Integration Suite, Event Mesh实例服务密钥中的数据填写表单字段。点击 Deploy。
结果
所需的 OAuth2 客户端凭据已以名称 emis 保存在 Manage Security Material 区域中。
更多信息
Managing Security Material:Manage Security Material 区域为用户提供与系统安全相关的所有工件的集中概览。这些工件可以包括数字证书、加密密钥或其他用于保护系统完整性和数据机密性的敏感安全元素。
创建用于读取 Cloud Events 的 iFlow
现在,我们希望读取并进一步处理业务事件(Cloud Event)。在本示例中,我们使用 SAP Integration Suite, Cloud Integration 创建一个 iFlow。该 iFlow 通过 AMQP 入站适配器拉取事件。为了进行身份验证,我们使用上一步中创建的客户端凭据。
在此步骤中,我们将创建一个简单的 iFlow,它使用 AMQP 入站适配器读取 cloud events。
前提条件
Cloud Integration 功能已在 Integration Suite 中成功激活。
已为集成用户分配 PI_Integration_Developer 和/或 PI_Administrator 角色集合。
Demo:Watch Demo(SAP 官方交互式练习)
Note
For participants attending an on-site training only: This exercise will be discussed theoretically by your trainer and will not be carried out on the training system.
任务 1:创建一个简单的 iFlow 模板
步骤
在 Integration Suite 中,导航到 Design→Integration and APIs。
点击 Create 按钮。
在表单中输入名称和简短描述。
然后,点击 Save 按钮。
转到 Artifacts 选项卡,并打开 Add 按钮下的菜单。
选择 Integration Flow。
指定一个有意义的名称,然后点击 Add and Open in Editor。
点击 Edit 按钮,并从面板中拖入一个 Groovy Script 元素。
插入后,点击 plus icon 以插入标准脚本。
接受建议的脚本,点击 Apply,然后点击 Close。
返回主窗口,点击 Save。
配置 AMQP 入站适配器
点击 Sender,并将其连接到 Start 事件。
在弹出的适配器选择中,选择 AMQP。
然后,选择 WebSocket。
在 Connection 选项卡中,添加服务密钥中的 Host、Path 和 Port。Host 以 wss:// 开头
确保 Path 中有前导斜杠 /。
在 Authentication 下,选择 OAuth2 Client Credential。
在 Credential Name 中,输入先前创建的客户端凭据的别名——在我们的场景中是:emis。
现在,打开 Processing 选项卡,并输入要读取的队列名称——在我们的场景中是:emis-s4hana-uc123。
其他所有参数保留建议值。
保存该 iFlow。
测试 iFlow 一旦部署 iFlow,它就会开始从队列中读取事件。 目前队列中存有三个事件。
点击 Deploy 按钮。
导航到 Monitor→Integrations and APIs→All Artifacts。
结果
可用事件已成功读取。这确认了该演示已成功实施。
测试整个场景:发送业务事件
在此步骤中,我们在 SAP S/4HANA Cloud Public Edition 中更改某个业务伙伴的名称,并检查是否触发了更改事件,以及该事件是否在配置的 iFlow 中得到了处理。
前提条件
在 SAP S/4HANA Cloud Public Edition 中,登录用户必须配置为具有 BR_ADMINISTRATOR 业务角色的 业务用户 。
一个已存在的消息客户端: emis-s4hana 。
一个已存在的队列: emis-s4hana-uc123 。
一个已存在的主题订阅: sap/s4/beh/businesspartner/v1/BusinessPartner/Changed/v1 。
已创建任意名称的 iFlow,且其 AMQP 已针对所创建的 emis-s4hana-uc123 队列进行配置。
登录用户具有调用 iFlow 跟踪所需的 Role Collections 。
Demo:Watch Demo(SAP 官方交互式练习)
Note
For participants attending an on-site training only: This exercise will be discussed theoretically by your trainer and will not be carried out on the training system.
任务 1:在 SAP S/4HANA Cloud Public Edition 中更改业务伙伴
步骤
登录 SAP S/4HANA Cloud Public Edition。
打开 Maintain Business Partner 应用。
选择或搜索一个现有业务伙伴。
点击 Start 按钮。
点击所选的 Business Partner。
点击 Switch Between Display and Change。
修改所选业务伙伴的任意属性。
点击 Save 按钮。
在 SAP S/4HANA Cloud Public Edition 中验证是否创建并发送了事件
在 SAP S/4HANA Cloud Public Edition 中打开 Enterprise Event Enablement–Event Monitor 应用。
检查您的通道下是否处理了某个事件。在我们的示例中,通道 EDA_DEMO_0092 处理了一个事件。
点击 EDA_DEMO_0092 通道。
点击主题:demo/s4hc/e4l/ce/sap/s4/beh/businesspartner/v1/BusinessPartner/Changed/v1。
点击 Cloud Event ID。
点击 Show More 查看事件详细信息。业务事件——也称为 Cloud Event ——已在 SAP S/4HANA Cloud Public Edition 中成功处理。
在 SAP Integration Suite, Event Mesh 中检查事件是否已接收
登录 SAP Integration Suite, Event Mesh。
导航到 Configure→Event Mesh→emis-s4hana。
iFlow 成功取回
在这种情况下,您在队列中看不到任何条目。
iFlow 未能成功取回事件
在这种情况下,您会在队列中看到该事件。
检查 iFlow 是否已处理该事件
导航到 Design→Integrations 和 APIs→EDADemo→EDA_DEMO。
点击 Deploy。
在配置区域中,点击 Deployment Status→Navigate to Manage Integration Content。
检查适配器是否显示在 Polling Information 区域中。
在 Log Configuration 区域中,将 Log Level 更改为 Trace。
在 SAP S/4HANA Cloud Public Edition 中再次更改业务伙伴
在另一个事件被触发、被 EMIS 捕获并由 iFlow 拾取之后,我们现在可以在跟踪中看到它。
点击 Monitor Message Processing 链接。
点击 Trace 链接。
选择 End→Message Content→Payload。
所触发的事件将显示为 payload。
结果
所配置的业务事件(Cloud Event)使用主题名称 sap/s4/beh/businesspartner/v1/BusinessPartner/Changed/v1 已成功触发并接收。实施成功。
本课其余配图









































































































