SAP CPI の iFlow レビューのチェックリストと、その自動化
実践的な SAP CPI の iFlow レビューのチェックリスト。エラー処理、ログレベル、シークレット、プロトコル、スクリプト、構造を確認し、スコアとレポート付きで自動実行する方法を解説します。

iFlow のレビューは、たいていトランスポートの直前に時間に追われながら行われ、チェックされるのはレビュー担当者が覚えていることだけです。その結果、エラー処理がない、Content Modifier にパスワードがある、Router にデフォルトルートがない、といった同じ問題が何度も本番に届きます。
この記事では、SAP Cloud Integration(SAP CPI)の iFlow 向けに 12 項目のチェックリストを示し、それぞれが重要な理由を説明したうえで、トランスポートに添付できるスコアとレポート付きでこれらを自動実行する方法を紹介します。
iFlow をレビューするタイミング
- テスト用または本番の tenant に初めてトランスポートする前。
- iFlow を別の開発者や運用チームに引き継ぐとき。
- 新しいレシーバーや新しいスクリプトなど、大きな変更をした後。
- 何年もかけて大きくなった iFlow については、ときどき。
チェックリスト
| チェック | 重要な理由 | カテゴリ |
|---|---|---|
| Exception Subprocess がない | エラーが起きると、メッセージは SAP のデフォルト処理で終わります。アラートも、送信元へのきちんとした応答もありません。 | 信頼性 |
| 詳細すぎるログレベル | すべてのステップを記録すると、各メッセージが遅くなり、tenant のログストアを圧迫します。 | パフォーマンス |
| 説明がない | 開いてみないと、iFlow が何をするのか、誰が担当しているのかがわかりません。 | 保守性 |
| 平文のシークレット | iFlow を開いたりダウンロードしたりできる人なら誰でも、そこに書かれたパスワードやトークンを読めます。 | セキュリティ |
| スクリプトのないスクリプトステップ | スクリプトファイルのないスクリプトステップは、実行時に失敗します。 | 正確性 |
| 大きすぎるプロセス | ステップの多いプロセスは、読むのも、テストするのも、変更するのも大変です。 | 保守性 |
| 安全でないプロトコル | 平文の HTTP や FTP は、データと Basic 認証情報を暗号化せずに送ります。 | セキュリティ |
| Receiver のない呼び出し | チャネルのない Request Reply や Send のステップには、メッセージの送り先がありません。 | 正確性 |
| スクリプトのリスク | println、大きなボディを 1 つの String として読むこと、非常に長いスクリプト、XXE に対して無防備な XML パーサー。 | パフォーマンス |
| 未使用の Local Integration Process | どの Process Call からも呼ばれないため、実行されることがありません。 | 保守性 |
| 接続されていないステップ | どの開始イベントからも経路がつながっていないため、実行されることがありません。 | 正確性 |
| デフォルトルートのない Router | どの条件にも一致しないと、メッセージは既知の経路に進むのではなく失敗します。 | 信頼性 |
これらは Kitegra が使っているカテゴリです。手作業のレビューで大切なのは、各チェックにチームが合意した理由と対処法があることです。
チェックリストでは見えないもの
チェックが読み取るのは iFlow の設計です。マッピングが業務的に正しいか、レシーバーが負荷に耐えられるか、エラー処理のアラートが実際に読む人に届くかまではわかりません。こうした点にはやはり人によるレビューと、本物に近いデータでのテストが必要です。
名前はレビューの中でも別の部分です。命名のルールパックを使えば、名前もチェックできるようになります。
チェックを自動で実行する
Kitegra で iFlow を開き、「Kitegra ツール」ボタンをクリックして「インスペクター」を選びます。その「設計」タブが、開いている iFlow とそのスクリプトに対して上の 12 項目のチェックを実行します。
- 各結果には、それが重要な理由と「対処:」の行が表示されます。
- 「スコア(0~100)とグレード」が、iFlow を A から E で総合評価します。
- 「チェック設定」では、チェックをオフにしたり、スコアへの影響度を変えたりできます。これらの設定は Kitegra アカウントと同期されます。
- 「ベースラインを設定」は、今日の結果を既知として記録し、次のレビューでは新しい結果だけを表示します。
- 「抑制」は結果を 1 件非表示にし、その理由を尋ねます。「既知および抑制済みを表示」で再び表示できます。
チェックの 1 つはログレベルに関するものです。その理由は 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 が問題になるのはなぜですか?
どの条件にも一致しないと、メッセージは既知の経路に進むのではなく失敗するからです。
スコアはどのように計算されますか?
結果 1 件ごとに、重要度に応じた重みの分だけ 100 からスコアが下がり、スコアは A から E のグレードに対応します。各チェックの影響度は変更できます。
「ベースラインを設定」は何をしますか?
今日の結果を既知として記録し、後のレビューでは新しい結果だけを表示します。
レビュー結果をエクスポートできますか?
できます。iFlow レポートは、会社名とロゴ付きで HTML、PDF、Excel にエクスポートできます。
レポートにメッセージの内容は含まれますか?
いいえ。レポートは iFlow のモデルから作られ、メッセージの内容は含みません。