开发集成内容
学习目标
说明创建集成流的开发周期。
在本课中,我们将涵盖以下主题:
使用 Cloud Integration 进行开发
技术实现
创建集成流的开发周期
集成流的版本管理
通过真实部署和调试集成流进行开发者测试
通过模拟集成和组件进行开发者测试
使用 Cloud Integration 进行开发
云集成是一项订阅服务,这意味着除其他事项外,流程步骤的图形化建模和处理都在你注册该服务的子账户上进行。使用者子账户和提供者子账户位于同一区域,例如 eu10(法兰克福),通信直接通过浏览器进行。因此,浏览器中显示的所有内容都以 HTML 数据流的形式传输。下面给出了不同层级的 URL,在所有情况下,我们都位于 eu10 区域。云集成的 URL 以你的子账户子域开头,后接特定域和上下文路径。
注意
显示的 URL 仅为用于培训目的的示例 URL。它们不是有效或可用的链接。
你的子账户 URL(编号 1):https://emea.cockpit.btp.cloud.sap
Integration Suite 的 URL(编号 2):https://.integrationsuite.cfapps.eu10-003.hana.ondemand.com/shell/home
Cloud Integration 的 URL(编号 2):https://.integrationsuite.cfapps.eu10-003.hana.ondemand.com/shell/design
在实际操作中,这意味着:
所有可用的能力都通过浏览器使用。
呈现方式由浏览器决定。因此 SAP 建议使用最新的 Chrome 浏览器。
超时由浏览器设定。
网络连接不佳可能导致响应出现较大的时间延迟。
只要屏幕足够大、有更新版本的 Chrome 浏览器并且网络连接稳定,你可以使用任何设备。
你至少需要 PI_Integration_Developer 角色集合。
技术实现
如前所述,系统的核心是 Camel 集成框架。SAP 通过图形化客户端和各种安全功能对 Camel 框架进行了增强。完整的实现是一个 Java 应用程序,包含以下组件:
第一个组件(编号 1)是你的浏览器,它通过 Cloud Integration URL 访问该实现,以创建和管理集成流。第二个组件(编号 2)是图形界面。
一旦集成流创建完成,并且如果它作为 Java 应用程序部署到运行时(Cloud Foundry、Kyma)上(编号 4),消息就可以通过发送方组件(编号 3)传输,并通过接收方组件(编号 5)接收。
负载均衡器(IP5)连接到发送方输入(编号 3),有趣的是,它并不直接连接到运行时。
租户上的资源
Cloud Integration 实现的资源是有限的。
创建集成流的开发周期
在相关练习中,我们遵循构建专业集成流的原则。
要建立开发周期,必须按顺序执行以下步骤:
理解用例。
配置 SAP BTP 子账户和 SAP Integration Suite。
找到所需 API 的列表及其全部元数据,例如凭据、标头等。
在 Cloud Integration 中从空模板开始。
对流程进行建模。
逐块构建集成流。
重复这些步骤。
接下来做什么?
让我们详细了解这些步骤。
理解用例: 与相关工件协作,对用例进行深入分析,并应用 SAP Integration Solution Advisory Methodology 来满足所有需求。
配置 SAP BTP 子账户和 Integration Suite: 为集成开发人员提供相关的角色集合,使他们能够在适当的 Integration Suite 上工作。这需要与管理员协调。
找到所需 API 的列表及其全部元数据,例如凭据、标头等: 如果所有 API 都列在 SAP API Business Hub Enterprise 中,获取必要的 URL 和参数就完成了。但如果没有,你就需要规划充足的时间来获取这些数据并测试接口。
在 Cloud Integration 中从空模板开始: 创建一个名称有意义的包。以下是命名约定的建议:命名约定。 开始时,选择集成流工件,系统会自动创建一个空模板。如果需要传入消息,可以使用 Timer 事件来启动,并用 Content Modifier 来模拟消息。这种方法有助于实现更快、更轻松的开发周期。
对流程进行建模: 为流程开发确立清晰的标准可能很困难。有时,一个流程最初看起来很简单,但之后可能会被拆分为多个独立流程。重要的是要考虑到,流程将来必须能被专业人员理解。在本培训涵盖的练习中,我们专注于实现一个流程。不过,也可以将 API 调用外包给具有各自错误处理的独立流程。
逐块构建集成流: 根据用例的不同,开发集成流有多种方式。在实践练习中,建议从 API 调用开始。一旦建立连接,就更容易确定所需的输入和输出。与使用 XI 消息协议的 XI 或 PI 不同,云集成中没有内部格式。因此,考虑所需的内部格式和转换非常重要。可以使用每个集成流组件的帮助部分来查找合适的配置。本课程涵盖的练习中也演示了这一过程。配置完一个组件后,必须调试并验证输出是否符合预期。一般来说,有两种测试集成流的方式: 它们是:
集成流的模拟。
通过真实部署和调试进行测试。练习中采用的就是这种方法。 这些主题将在课程后面更详细地讨论。
重复这些步骤: 反复执行这些步骤,直到你的集成流按预期运行。
接下来做什么: 测试流程;各种测试程序将在后续主题中详细讨论。测试成功后,集成流会被传输到生产子账户。对处理过程进行持续监控,或实施警报管理以应对意外事件,是管理员的职责,此处不再单独讨论。
集成流的版本管理
定期对开发状态进行版本管理非常重要,这样在必要时可以回退到先前的版本。
集成流版本管理的操作步骤:
在你可编辑的集成流中开始。
选择右上角的 另存为版本 按钮。
输入有意义的注释。
练习中使用了这种方法。
切换到先前版本的操作步骤:
从你的包开始。
在可用工件列表中标记你的工件(集成流)。
转到 版本 列。
选择版本号。
选择一个先前的版本。
选择符号以切回该先前版本。
通过真实部署和调试集成流进行开发者测试
在检查集成流之前,必须将其部署到监控环境中。图形化模型会被转换为 Java 应用程序并放入运行时,从而使集成流能够启动。如果部署成功,当使用计时器事件时集成流会立即执行,否则它将等待传入消息。Cloud Integration 提供跟踪(trace)日志级别,可让你深入了解每个集成流组件的处理过程。
要执行开发者测试,必须按顺序执行以下步骤:
从你的集成流开始。
选择 部署 按钮。
在集成流泳道之外的空白区域选择一个位置。
在 集成流 配置区域中选择 部署状态 。
如果你的集成流部署成功,你将看到一个 导航到管理集成内容 链接。
选择该链接可跳转到 监控工件 → 概览 → 管理集成内容 。
将日志级别改为 trace 。
如果使用 计时器 启动事件,请再次部署。否则,向端点发送一条消息。
如果再次部署,请返回 监控工件 → 概览 → 管理集成内容 。
在此处选择 监控消息处理 链接。
在新窗口中,选择 监控工件 → 概览 → 监控消息处理 。在消息列表中选择最后一条消息并点击它。
选择 跟踪 链接可直接跳转到 监控工件 → 概览 → 监控消息处理 → 消息处理运行 。
探究你的流的跟踪信息。
练习中使用了这种方法。
通过模拟集成流及其组件进行开发者测试
模拟集成流的各个部分或整个集成流,有助于验证内容修改器中的值是否正确设置,或者脚本或映射是否按预期执行。然而,并非所有集成流组件都支持模拟。
以下是支持的集成流组件列表:集成流的模拟
示例
在 DeDelayedDelivery_Process 中,我们需要通过模拟检查 Modify_setProductIDAsProperty 中的 ProductID 是否设置正确。
要通过模拟执行开发者测试,必须按顺序执行以下步骤:
在 Splitter_iterateOverProducts 组件之前的连线上选择一个位置。
通过上下文菜单设置起点。
将输入消息作为负载(内容)添加。
选择 Modify_setProductIDAsProperty 组件之后的连线。
设置模拟的终点。
模拟导航栏现在处于激活状态。
使用导航栏的 开始 按钮启动模拟。
选择起点与终点之间的所有信封以查看结果。
测试完成后,选择导航栏的 清除 按钮。
小结
创建集成流需要使用远程云集成应用程序中的图形化编辑器。可以对集成流的各个部分或整个集成流进行模拟,以验证内容修改器、脚本或映射中的值是否正确设置。集成流完成后,会对其进行版本管理并部署,从而在运行时中创建并部署一个 Java 应用程序。随后即可执行该集成流。开发过程可以看作一个循环,其中组件的放置与配置、使用跟踪日志级别进行调试以及测试会不断重复,直到达到预期结果。
本课其余配图














