はじめに
SAP Fioriを使っていると必ず登場する「テクニカルカタログ」。 作り方や仕組みについての情報は多いものの、 “どう運用していくか” という視点の話はあまり見かけないように思います。
私自身、Fiori Launchpad Designer(Fioriデザイナ)からFiori App Manager(Fioriアプリマネージャ)へ移行した際に、うまくいかなかったことがいくつかありました。 この記事では、そのときの経験を交えながら、 テクニカルカタログの運用を改めて見直してみたいと思います。
テクニカルカタログの前提
テクニカルカタログはタイル(アプリ)の集合体です。 ユーザには直接見えないため、必要なタイルをビジネスカタログに参照登録することでユーザーはタイルを使用できるようになります。 (その他詳細な説明はネットの海にあふれているので割愛します)
Fioriデザイナ時代の運用
Fioriデザイナでは、テクニカルカタログからビジネスカタログへタイルを参照登録する手順が煩雑でした。 そのため、あらかじめ必要なタイルを新規テクニカルカタログにコピーし 領域ごとにまとめる形で運用することが多かったです。 これはタイル名称やサブタイトルを自由に設定できる、急なトランザクション変更にも対応できる といった利便性もありました。
Fioriアプリマネージャ移行後に発生した問題
しかしFioriアプリマネージャに移行すると、これまでと同じ運用では 一部機能において複数の問題が発生しました。
実際に起きたエラー例
- アプリが起動できない(起動時エラー)
- 表示が英語になる
- ビジネスカタログに参照登録してもタイルが表示されない
なぜ問題が起きたのか
Fioriアプリマネージャでは、依存関係(OData/ICF/権限/UIテキスト)を前提に整合性を検証する仕組みがあります。 そのため、Fioriデザイナ時代のような 「タイルコピーでテクニカルカタログを作成する」という運用が成立しない場合があります。
Fioriアプリマネージャでコピーしたタイルは、下図のとおり「タイル+ターゲットマッピング」以外の依存関係を複製しないため本来は起動できません。 しかし、ODataやICF、権限、UIテキストなどはバックエンド側やユーザー権限によって補完される場合があり、その場合はコピーしたタイルでも正常に動作します。
| 元のタイル | コピーしたタイル |
|---|---|
| タイル名 | コピーされる |
| ターゲットマッピング | コピーされる |
| ODataサービス | コピーされない |
| ICFサービス | コピーされない |
| 権限オブジェクト | コピーされない |
| UIテキスト | コピーされない |
一方、バックエンド側で補完できない依存関係がある場合は、 アプリマネージャの依存チェックでエラーとなり、アプリが起動できません。 実際に起きたエラー例も以下のように考えられます。
・アプリが起動できない(起動時エラー)
→ サービスが不足している
・表示が英語になる
→ UIテキストや関連コンテンツが正しく紐づいていない
・ビジネスカタログに参照登録してもタイルが表示されない
→ テクニカルカタログの整合性チェックで弾かれる
この時はテスト中にエラーが判明したため、エラーが発生した機能のみ、SAP標準テクニカルカタログから直接参照登録する対応を取りました。
Fioriアプリマネージャでの運用方針
- ビジネスカタログを作成する際は、SAP標準のテクニカルカタログを中心に活用する
- アドオン機能やSAP標準で用意されていない機能については新規テクニカルカタログでタイルを作成する
まとめ
Fioriデザイナでは成立していた「タイルコピーでテクニカルカタログを作成する」運用は、 Fioriアプリマネージャでは正常にアプリが起動しない等の問題が発生する場合があります。 今後は「標準テクニカルカタログを基盤にする」ことで、 アプリマネージャ環境ではより安定した運用につながると考えられます。
もちろん、環境や権限設計、既存のカタログ構成によって最適解は異なるため、 本記事の内容は「こうした整理の仕方もある」という一つの視点として参考にしていただければと思います。