SAP BTP Guidance Frameworkを覗いてみた

# 初めに
この記事は[SAP Advent Calendar 2024の12月8日分](https://adventar.org/calendars/10423)の記事として執筆しています。
SAP TechEd Japan 2024に参加し、[SAP BTP Guidance Framework](https://help.sap.com/docs/sap-btp-guidance-framework/guidance-framework/what-is-sap-btp-guidance-framework)の存在を知りました。
SAP TechEd Japan 2024の講演内容も踏まえつつ、全部ではありませんが気になった箇所だけざっと解説してみたいと思います。

※注意
BTP Guidance Frameworkの内容をそのまま翻訳したものではなく、個人の解釈・意訳を含みます。

# SAP BTP Guidance Frameworkとは
BTPソリューションをベストな組み合わせで設計、開発、運用するための一元化された情報元です。

BTPはその内部のサービスだけでなく、ERPをはじめとするSaaSやオンプレのシステム等、多種多様な要素を組み合わせてソリューションを構築するものです。
それらを組み合わせる際、要件ごとに推奨されるアーキテクチャを選択しなければなりません。
その参考情報として、Developerガイド、Methodology等の情報がSAPから提供されてきましたが、それらの情報はばらばらに散在していました。
そうした情報を一元化してあるべき情報元にたどり着けるように整理したものがBTP Guidance Frameworkです。

SAP BTP Guidance Frameworkは次の5つの要素で構成されます。

|要素|説明|
|:---|:---|
|Decision guides|要件に最適な手段となる技術を特定するためのもの|
|Reference architectures|整理されたBTPソリューションのテンプレートを探す手助けとなるもの|
|Methodologies|技術と組織論の両面から、クラウド技術の成熟度を向上させるアプローチ|
|Recommendations|導入するソリューションの選択肢を正しく評価し選択するための推奨事項|
|DevOps|開発チームと運用チームがより効率的に協力するための原則|

これら５つの要素を、architect, developer, administratorという3つの対象者を切り口に整理したのが以下の表になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378457/5d3fe2aa-3550-aa37-05ce-af6290b32ea2.png)

引用：[SAP BTP Guidance Framework](https://help.sap.com/docs/sap-btp-guidance-framework/guidance-framework/what-is-sap-btp-guidance-framework)

この中で一例として**Integration Architecture Guide**について、さらに詳しく見ていきます。

# Integration Architecture Guide

[参考：Integration Architecture Guide](https://help.sap.com/docs/sap-btp-guidance-framework/integration-architecture-guide/summary)

BTPによるIntegrationのパターンとして多いのは、以下の４つのものです。

|種類|説明|
|:----|:----|
|Process integration|Integration Suiteという製品を利用して、イベントドリブンのIntegrationを構築するもの。主要なパターンにA2AやB2B等がある。|
|Data integration|SAP Datasphere、SAP Database、Data Managementソリューション等の利用にかかわるもの。|
|Analytics integration|SAP Datasphere, SAP Analytics CloudおよびSAP BW/4HANA にかかわるもの。|
|User integration|アプリケーションや業務プロセスに対して、システム間で共通のエントリポイントを提供するためのもの。SAP Build Work Zone、SAP StartおよびSAP Mobile Startがかかわる。|

この中で**Process Integration**について、さらに詳しく見ていきます。

# Process Integration
[参考：Process Integration](https://help.sap.com/docs/sap-btp-guidance-framework/integration-architecture-guide/process-integration)

ProcessIntegrationのユースケースは、アプリ間でどのようにビジネスプロセスを統合するか、といった観点で以下に大別されます。

|Use Case pattern|Description|Example|
|:----|:----|:----|
|Application to Application (A2A) Integration|自社のアプリ間をまたがった業務プロセスを構築するもの|受注伝票をSAP Customer Experience solutionsとSAP S/4HANAとで連携する|
|Business to Business (B2B) Integration|標準的なB2Bプロトコルに準拠して自社とビジネスパートナとの間でトランザクションデータをやりとりするもの|S/4HANにおいてElectronic Data Interchange (EDI) で銀行取引明細書をやりとりする|
|Business to Government (B2G) Integration|トランザクションデータを事前定義されたフォーマットに変換し、社外の法務当局、税務当局のシステムへ電子的に転送するもの|特定の国要件として、国の当局への電子請求書をS/4HANAから送付する。|
|Master Data Integration|自社のアプリ間でマスタデータを共有するもの|採用と退職のプロセスにおいてSAP S/4HANA CloudとSAP SuccessFactorsで従業員マスタデータを共有する|

アプリケーションを"何と"ないし"何を"統合するかによって上記4つに大別できましたが、技術的な側面としての分け方に次の2パターンがあります。


|Use Case pattern|Description|Example|
|:----|:----|:----|
|API-Managed Integration|自社アプリケーションのAPIを管理する事でアプリケーションへのアクセスをよりセキュアにする|セキュアかつ堅牢に保護されたAPIによって、顧客やパートナとビジネスデータをやりとりする|
|Event-Driven Integration|メッセージング原則に基づき、自社のアプリケーションを外部のIoTデータと分離する|S/4HANAでキックされたイベントによって登録・変更・削除された顧客のデータを、顧客保有のシステムに送信する|

さらにこの後CloudソリューションであるIntegration Suite、オンプレの選択肢であるEdge Integration Cellの選択や、A2A、B2B等の種類に応じたBest Practice等の話を深堀りしていきます。

# SAP BTP Guidance Frameworkの感想
情報の構成としては"やりたいこと"を何らかの意味合いに応じて細分化し、その要素をさらに細分化しつつベストプラクティスを解説しているのだと読み取れます。
例えばIntegrationをProcess, Data, Analytics etcで細分化し、さらにProcessをA2A、B2Bで細分化するといた具合です。
なので、全部を読み取るというよりはプロジェクトにおいて"やりたいこと"を明確化した上で必要な情報をドリルダウンしながら読み進めていくのが正しい使い方なのかなと思いました。

BTPにかかわる皆様もよかったらご参照ください。

# 参考
[SAP BTP Guidance Framework](https://help.sap.com/docs/sap-btp-guidance-framework/guidance-framework/what-is-sap-btp-guidance-framework)

[Integration Architecture Guide](https://help.sap.com/docs/sap-btp-guidance-framework/integration-architecture-guide/summary)