跳到主要内容
← 返回博客

本文涉及的模块: iFlow Inspector

SAP CPI iFlow 审查清单,以及如何自动执行

一份实用的 SAP CPI iFlow 审查清单:错误处理、日志级别、密钥、协议、脚本和结构,以及如何自动运行它并得到分数和报告。

SAP CPI iFlow 审查清单,以及如何自动执行

iFlow 审查通常在时间压力下进行,就在传输之前,检查的内容取决于审查者还记得什么。于是同样的问题一次又一次进入生产环境:没有错误处理、Content Modifier 中写着密码、Router 没有默认路由。

本文为 SAP Cloud Integration(SAP CPI)iFlow 提供一份包含十二项检查的清单,解释每一项为什么重要,并介绍如何自动运行这些检查,得到可以附在传输上的分数和报告。

什么时候审查 iFlow

  • 在第一次传输到测试或生产 tenant 之前。
  • 当 iFlow 移交给另一位开发人员或运维团队时。
  • 在较大的变更之后,例如新增接收方或新增脚本。
  • 对于多年来不断扩展的 iFlow,不时进行审查。

审查清单

检查为什么重要类别
没有 Exception Subprocess出错时消息会按 SAP 的默认处理结束:没有告警,也没有给发送方一个清晰的答复。可靠性
日志级别过详细记录每个步骤会拖慢每条消息,并占满 tenant 的日志存储。性能
没有描述别人不打开 iFlow,就无法知道它做什么、归谁负责。可维护性
明文密钥任何能打开或下载该 iFlow 的人,都能读到写在其中的密码或令牌。安全性
没有脚本的脚本步骤没有脚本文件的脚本步骤会在运行时失败。正确性
过大的流程步骤很多的流程难以阅读、测试和修改。可维护性
不安全的协议纯 HTTP 或 FTP 会以未加密的方式发送数据以及 Basic 凭据。安全性
没有 Receiver 的调用没有通道的 Request Reply 或 Send 步骤无处发送消息。正确性
脚本风险println、把大型消息体作为一个 String 读取、过长的脚本、易受 XXE 攻击的 XML 解析器。性能
未使用的 Local Integration Process没有任何 Process Call 调用它,因此它永远不会运行。可维护性
未连接的步骤从任何开始事件都没有路径能到达它,因此它永远不会运行。正确性
没有默认路由的 Router当没有条件匹配时,消息会失败,而不是走一条已知的路径。可靠性

这些是 Kitegra 使用的类别。在人工审查中,重要的是每项检查都有团队认可的理由和修复方法。

审查清单看不到的内容

检查读取的是 iFlow 的设计。它们不知道映射在业务上是否正确、接收方能否承受负载,也不知道错误处理是否把告警发给了真正会看的人。这些问题仍然需要人来判断,还需要用接近真实的数据进行测试。

名称是审查中单独的一部分:命名规则包也能让它们变得可检查。

自动运行这些检查

在 Kitegra 中,打开 iFlow,点击「Kitegra 工具」按钮并选择「检查器」。它的「设计」选项卡会在已打开的 iFlow 及其脚本上运行上述十二项检查:

  • 每条结果都会说明为什么重要,并附有一行「修复:」。
  • 「分数(0–100)与等级」对 iFlow 进行总结,等级从 A 到 E。
  • 「检查设置」可以关闭某项检查,或调整它在分数中所占的权重;这些设置会与您的 Kitegra 账户同步。
  • 「设为基线」会把今天的结果标记为已知,这样下一次审查只显示新出现的问题。
  • 「屏蔽」会隐藏一条结果,并询问原因;「显示已知和已屏蔽项」会把它们重新显示出来。

其中一项检查涉及日志级别;为什么不应让 TRACE 一直开启对此做了说明。

以报告形式分享结果

「报告」会在新标签页中打开 iFlow 报告:iFlow 的基本情况(步骤、脚本、适配器、流程)、分数、可按类别或严重程度筛选的设计结果,以及命名结果。可以导出为 HTML、PDF 或 Excel,也可以「打印」。在「报告页眉」中,您可以添加公司名称和不超过 20 KB 的徽标。

报告读取自 iFlow 的模型,不包含任何消息内容。PDF 中的标签为英文。

Kitegra 如何帮您

设计检查是 Kitegra 中 iFlow Inspector 的一部分。它们在您的浏览器中针对已打开的 iFlow 运行;登录后,检查设置和基线会与您的 Kitegra 账户同步,而脚本和映射从不发送。

Helper、Message Monitor、iFlow Inspector 和 iFlow Docs 各自统计您使用它们的 iFlow 数:没有 Kitegra 账户时每个模块 5 个,Free 套餐 50 个,Starter 100 个,Pro 300 个;Startup Team 每位成员 300 个,Growth Team 和 Scale Team 不限。Toolbox 和工作区附加功能不计入 iFlow。Kitegra 上线期间,所有工具向所有已登录用户开放,Free 套餐也不例外。比较各套餐。

在下一个 iFlow 中试试

了解 Kitegra 为 SAP Integration Suite 设计器增加了哪些功能,或在 Kitegra 的其他 Chrome 扩展旁查看它。

常见问题

SAP CPI iFlow 审查应该检查什么?

错误处理、日志级别、描述、明文密钥、脚本、协议安全、未连接或未使用的部分、Router 的默认路由,以及命名和业务逻辑。

为什么没有默认路由的 Router 是个问题?

当没有条件匹配时,消息会失败,而不是走一条已知的路径。

分数是如何计算的?

每条结果都会从 100 分中扣除一定分值,扣分多少取决于它的严重程度,分数再对应到 A 到 E 的等级。您可以调整每项检查所占的权重。

「设为基线」有什么作用?

它会把今天的结果标记为已知,这样之后的审查只显示新的结果。

可以导出审查结果吗?

可以。iFlow 报告可以导出为 HTML、PDF 或 Excel,并带有您的公司名称和徽标。

报告包含消息内容吗?

不包含。它读取自 iFlow 的模型,不包含任何消息内容。

无需离开设计器即可处理 iFlow

将 Kitegra 添加到 Chrome 或 Microsoft Edge。免费开始,无需账户。