JinJin48
JinJin48
SAP Consultant | BTP · S/4HANA · US Global Rollout
· 17 min read

カバー: SAP Build Apps — アーキテクチャと用途

TL;DR
  • SAP Build Appsは、SAP Buildファミリーに属するノーコード/ローコードアプリケーションビルダーです。ビジュアルUIキャンバス、数式エディタ、フローファンクションロジックに加え、ガバナンスが効いたサーバーサイドロジック向けのVisual Cloud Functionsを備えています。
  • オンラインCRUD、フィールドデータ入力、サイドバイサイド拡張UIには本番利用可能ですが、オフライン同期、組み込みFiori拡張、複雑なクライアントサイドパフォーマンス処理は、プロコード(MDK、UI5、Build Code)の領域です。
  • コンサルタントにとって最も有用な考え方の転換は、「Build Appsでこれはできるか?」と問うのをやめ、「Build Appsとプロコードの境界線はどこか、それぞれの担当は誰か?」と問うことです。

本記事の位置づけ

IDカテゴリコンポーネントスコープ
BTP-B01アプリケーション開発概要機能マップ
BTP-B02アプリケーション開発Business Application Studioアーキテクチャと利用方法
BTP-B03アプリケーション開発CAP と Build Codeアーキテクチャと利用方法
BTP-B04アプリケーション開発ABAP 環境アーキテクチャと利用方法
BTP-B05アプリケーション開発Build Appsアーキテクチャと利用方法(本記事)
BTP-B06アプリケーション開発Build Process Automationアーキテクチャと利用方法
BTP-B07アプリケーション開発Build Work Zoneアーキテクチャと利用方法
BTP-B08アプリケーション開発意思決定パターンユースケースと意思決定パターン

参考資料

リソースURL
SAP Build Apps とはhelp.sap.com →
ベストプラクティス:SAP Build Apps への戦略的アプローチhelp.sap.com →
SAP Build Apps — ビジュアルクラウドファンクションhelp.sap.com →
SAP Build プロダクトファミリーsap.com →
SAP Build Apps — 機能sap.com →

1) ローコードアプリビルダーの状況

5つのツール比較:Build Apps、Build Code、MDK、Fiori Elements、BAS

Build Apps は単独で存在するわけではありません。重複しながらも異なるツール群からなるポートフォリオの一部です。コンサルタントがこれらを代替品として扱うと失敗します。そうではないのです。

ツール機能主な利用者
SAP Build AppsWeb/モバイルUI向けのビジュアルノーコード/ローコードアプリビルダーシチズンデベロッパー + ビジネステクノロジスト
SAP Build Codeサービス主体のバックエンド向けAI支援プロコードIDE(CAP/Java/JS)プロコードデベロッパー
SAP Mobile Development Kit (MDK)オフライン同期対応のメタデータ駆動型ネイティブiOS/Androidモバイルデベロッパー
SAP Fiori ElementsOData/CAP上のメタデータ駆動型Fiori UI — 社内SAP UXS/4、BTP環境のUI5デベロッパー
SAP Business Application StudioクラウドIDE — CAP/UI5/Build Code作業のホストプロコードデベロッパー

これらは代替品ではありません。

2) S/4HANA への接続方法

Build AppsがBTP宛先とVisual Cloud Functionsを通じてS/4HANAに接続

Build Apps は S/4HANA と直接通信しません。BTP を介して通信します。

+----------------------+         +------------------------+
|  Build Apps client   |  HTTPS  |  BTP Destination       |
|  (PWA / iOS / And.)  +-------->+  Service / Connectivity|
+----------+-----------+         +------------+-----------+
           |                                  |
           |  flow functions                  |  OData / REST
           |  formula bindings                |  (with auth)
           v                                  v
+----------------------+         +------------------------+
|  Visual Cloud        |         |  S/4HANA Cloud /       |
|  Functions (BTP K8s) |<------->|  S/4HANA Private /     |
|  (entities + funcs)  |         |  SuccessFactors / etc. |
+----------------------+         +------------------------+

VCFは、そうでなければクライアント側に漏れてしまうサーバーサイドロジック(変換、ルール評価、スケジュールタスク、広範なODataサービスに対する絞り込まれた読み取り専用エンドポイント)を配置する場所です。認証と資格情報管理はアプリ内ではなくBTP上に残ります。

重要ポイント: S/4との接続はBTPの宛先に存在し、Build Apps内にはありません。アプリを統合レイヤーとして扱うと、出荷するすべてのBuild Appでその統合を再構築することになります。

3) 成熟度マップ

Build Appsの機能の成熟度マップ(本番環境から非推奨まで)

機能成熟度備考
ビジュアルUIビルダー(Web PWA)✅ 本番利用可能成熟しており、顧客向けポータルで使用実績あり
ビジュアルUIビルダー(モバイル iOS/Android)✅ 本番利用可能ビルドサービスによりインストール可能なアプリを生成、開発サイクル用のプレビューアプリあり
フォーミュラエディタ + フロー関数✅ 本番利用可能コア / By-Me / インストール済みライブラリに対応。制限はロジックキャンバスの可読性であり、エンジン自体にはない
ビジュアルクラウドファンクション(ローコードバックエンド)⚠️ 前提条件ありで利用可能ガバナンスが必要(エンティティの所有者、スキーマ変更のレビュー担当者を明確化)
Build AppsにおけるJoule for Developers🔶 アーリーアダプター2026年第1四半期に拡張予定。AI提案はドラフトとして扱い、権威あるものと見なさないこと
オフラインOData同期❌ 非推奨ネイティブ非対応。代わりにMDKまたはBTP SDKを使用すること
Fiori起動画面内の埋め込み拡張❌ 非推奨Fiori Elements / UI5 / Build Codeを使用すること

4) 要件チェックリスト

Build Appsプロジェクトの5つの要件カテゴリ

これは、要件ドキュメントで通常見落とされる部分です。各テーブルは1つの機能領域をカバーし、行は実装手順ではなく要件段階の項目です。

UIとフロントエンドの要件

チェックリスト項目なぜ重要なのか
すべてのページと、各ページを閲覧するロールを棚卸しするページコレクションの構造と、ページごとのロジックキャンバスの範囲を決定するため
ブランディングの制約(色、ロゴ、アクセシビリティレベル)を把握するBuild Appsのテーマ設定には制限があり、マーケットプレイスコンポーネントからの逸脱は工数増加につながるため
必要なカスタムUI動作(ジェスチャー、アニメーション、チャート)をリストアップするこれらは「Build Appsでは実現できない」という想定外の事態として最もよく発生するため
ペルソナごとにPWAとネイティブインストールのどちらを採用するか決定するPWAはほとんどのオフィスユーザーをカバーするが、フィールド/スキャナーワークフローでは通常ネイティブビルドが必要となるため
パフォーマンス目標(初回描画時間、リストサイズ、検索レイテンシ)を定義する目標が初回描画約2秒よりも厳しい場合、早期にプロコードの検討を提起する必要があるため

データ統合の要件

チェックリスト項目重要性
アプリが読み取り/書き込みを行うすべてのバックエンドシステムをリストアップするシステムごとに1つのBTP宛先が必要であり、宛先ごとに一連の所有権に関する質問が発生する
各エンドポイントのOData v2、v4、RESTのいずれかを確認するBuild Appsのコネクタはそれぞれ異なり、同じアプリ内でv2とv4を混在させることは可能だが、ガバナンスは異なる
一括操作や大量の結果セットを特定するビジュアルデータバインディングは大量ページ向けに最適化されておらず、ページネーションが必須である
結合/集計の実行場所を決定するソース側またはVCFでのサーバーサイド処理を推奨。クライアントサイドでの結合はスケーラビリティに欠ける
エンドポイントごとの認証モードを確認するOAuth2 / SAML / APIキー — Build AppsではなくBTP宛先で管理する

ロジックと計算要件

チェックリスト項目なぜ重要なのか
すべてのビジネスルールとその機密性をカタログ化する機密性の高いルールはVCFに属し、クライアントから見えるフローファンクションには属さない
ルール変更の頻度を定義する非開発者による頻繁な変更こそ、Build Appsの得意分野である
複数ステップにわたるトランザクションロジックを特定するシステム間でアトミックな書き込みが必要な場合、オーケストレーションをバックエンド(CAP / Build Code)にプッシュする
スケジュール実行が必要なロジックを記録するBuild Appsクライアントはスケジュール実行ができないため、VCFまたはBuild Process Automationを使用する
フローキャンバスの可読性予算を設定する実用的な経験則として、1ページあたり約30ノードが限界。それを超える場合はリファクタリングするか、プロコードに移行する

モバイル配送要件

チェックリスト項目重要性
オフライン動作の期待値を確認するネイティブオフライン同期はBuild Appsの領域外 — フォールバックとしてMDK / BTP SDKをフラグ付け
必要なデバイス機能(カメラ、GPS、スキャナー、プッシュ通知)をリスト化するマーケットプレイスのフロー機能で一般的なものはカバー可能。特殊な周辺機器はプロコードが必要
アプリストアの配信経路を確認するエンタープライズ配信(MDM)と公開ストアでビルドサービスの設定が変わる
デバイスフリートの制約を把握するiOS/Androidの最低バージョン、ロックダウンされたデバイス、MDMポリシー
ネットワークの前提条件を定義する常時オンライン、断続的、オフラインのいずれか — この1行の回答でツール選択全体が変わる

ガバナンス、ライセンス、および運用要件

ガバナンスチェックリスト:所有権、ライセンス、スキーマ、監視、バージョン管理

チェックリスト項目重要性
新しいアプリバージョンを公開できるユーザーを特定するカスタム開発者ガバナンスは、本番稼働後に最も失敗しやすい項目です
ライセンス階層(サブスクリプション vs BTPEA vs PayGo)を確認する使用量に応じたコストのスケーリング方法を決定します
Visual Cloud Functionsのスキーマの所有者を決定するVCFエンティティはデータベースと同様に扱い、スキーマレビューは必須です
監視とアラートを定義するBuild AppsはBTPレベルの可観測性を代替しません。ログはBTP Application Loggingにルーティングします
アプリ成果物のバージョン管理を計画するBuild Appsの組み込みバージョン管理は便利ですが、監査対応の履歴管理にはGitへのエクスポートが推奨パターンです

5) 意思決定基準

最初に問うべき3つの質問

Build Appsプロジェクトのスコープ設定前に問うべき3つの質問

Q1. Build Apps によって除去可能な、数値で示せる非効率性はありますか?

「今日、この作業は1ケースあたりN分かかり、1日あたりMケースある」と表現できないのであれば、それはまだBuild Appsの要件ではありません。それは「願望」です。構築の話から離れ、ディスカバリーに戻ってください。Build Appsのスピード面での優位性は、圧縮すべき具体的なものがある場合にのみ発揮されます。

Q2. データはどこに保存され、誰が読み取りや書き込みを許可されているのか?

Build Apps は BTP の宛先を通じて S/4、SuccessFactors、サードパーティ API、または VCF に接続します。UI のスコープを定義する前に、データの保存場所、認証パス、および各側でスキーマを変更できるユーザーのルールを書き留めてください。多くの「Build Apps プロジェクト」は、アプリが依存する OData サービスの所有者が決まっていないために、3 週目で停滞します。

Q3. 内部スポンサーは誰で、ランタイム費用は誰が負担しますか?

Build Apps は、BTPEA/PayGo では従量課金、サブスクリプションでは定額制です。スポンサーは、ライセンスコストとランタイムコスト(Visual Cloud Functions、モバイルビルド時間、Joule プロモーション期間終了後の AI 使用量)の両方を理解する必要があります。スポンサーが「月間のランタイム予算はいくらですか?」と答えられない場合、プロジェクトはまだ規模が確定していません。

プロジェクトコンテキストの選択

意思決定スペクトラム:単独でのアプリ構築からプロコードへの切り替えまで

プロジェクトコンテキスト推奨される開始機能
既存のODataサービスに対する内部CRUDBuild Apps単独、Web PWA
現場/モバイルでのデータ取得、写真アップロード、バーコードスキャンBuild Apps + ネイティブビルド、オンライン専用
カスタムロジックを伴うS/4のサイドバイサイド拡張Build Apps + Visual Cloud Functions
S/4 / Sales Cloud V2 起動画面への組み込み拡張切り替え先 Fiori Elements または Build Code (UI5)
オフラインファーストのモバイル現場作業アプリ切り替え先 SAP Mobile Development Kit (MDK)
大量のトランザクションロジック、高同時実行性切り替え先 CAP + UI5 (プロコード)
AI駆動のカスタムUXまたはエージェント統合Build Apps + Joule Studioエージェント (アーリーアダプター)
明確な課題がまだ特定されていない中止。Q1に戻る。

ライセンスとコスト

SAP Build Appsのライセンスモデル:サブスクリプション、BTPEA、PayGo

機能ライセンスモデル確認すべき重要事項
SAP Build(統合版)サブスクリプション、BTPEA、またはPayGo顧客のSAP契約に既存のモデルはどれか?新しいSKUを追加する前に既存モデルを再利用する
Visual Cloud FunctionsSAP Buildの下で消費、ランタイムは従量課金アプリごとの月間リクエスト量はどの程度見込まれるか?
Build Apps モバイルビルドサービス含まれるリリース頻度はどの程度か?ビルド時間は無制限ではない
Joule for Developers(Build Apps内)2026年第3四半期まで無料(プロモーション)2026年第4四半期の価格想定を文書化する — 無期限の無料利用を約束しない
BTP Destination Service / Connectivity標準BTP既にBTP顧客の対象範囲内 — 想定外の項目になるべきではない

6) よくある障害

中央プロジェクトを取り巻くBuild Appsの7つの一般的な障害モード

障害1:「ノーコードだから誰でも構築できる」

これは、技術的な問題よりも多くのBuild Appsプロジェクトを頓挫させます。シチズンデベロッパーは確かに実際の価値を提供できますが、アプリが本番データ(宛先、認証、ガバナンス)に触れた瞬間に、プロフェッショナル側の対応が必要になります。最初のインシデントが発生してからではなく、初日からフュージョンチームを計画してください。

障害 2: アプリを統合レイヤーとして扱う

よくあるアンチパターンとして、Build Appを複数のバックエンドに直接接続し、フロー関数でデータを結合することがあります。これは最初は高速ですが、3か月後にはメンテナンスが困難になります。統合処理はBTPの宛先とVisual Cloud Functionsに押し出し、アプリはプレゼンテーション層として扱ってください。

障害 3: オフライン会話の欠落

ステークホルダーは「モバイル対応」と言い、オフラインを前提とします。Build AppsはオフラインのOData同期をサポートしていません。要件定義の段階でオフラインに関する議論が行われないと、UAT(ユーザー受入テスト)で問題が顕在化し、再構築はBuild AppsではなくMDKで行うことになります。初日からオフラインの質問をし、その回答を文書化してください。

障害 4: Visual Cloud Functions スキーマに対するガバナンスの欠如

VCFエンティティはデータベースのように動作します。シチズンデベロッパーは気軽にフィールドを追加したりプロパティをリネームしたりしますが、下流のコンシューマーは静かに壊れていきます。最初のリグレッションが発生した後ではなく、プロジェクトキックオフ時にスキーマ変更プロセスを定義してください。

失敗 5: ライセンスに関する会話の範囲を過小評価すること

2025年のパッケージングによりBuild Appsはより安価でシンプルになりましたが、ランタイムのライン項目(VCF実行、モバイルビルド、プロモーション期間後のJoule)は依然として顧客を驚かせています。要件ドキュメント内の各従量課金アイテムをリストアップし、それぞれに仮のコストを設定してください。

障害6: 設計のギャップをJouleが埋めると仮定すること

Joule for Developersは、ボイラープレート、数式の説明、スターターコンポーネントに役立ちます。情報アーキテクトやUXレビュアーの代わりにはなりません。AIの提案はドラフトとして扱い、人間がページコレクション、データモデル、ナビゲーションをレビューしてください。

障害 7: Fiori に埋め込むための Build Apps の選択

Build Apps のスタンドアロン利用は優れています。しかし、Build Apps を Fiori ランチパッドに埋め込んで UI5 のように使うと、一貫して使い勝手が悪くなります。テーマがずれたり、ナビゲーションモデルが競合したり、アクセシビリティの認証が難しくなったりします。埋め込み型の拡張には、Fiori Elements または UI5 / Build Code をデフォルトとして使用してください。

FAQ

Q: SAP Build Apps はオンプレミスの S/4HANA でも動作しますか、それとも S/4HANA Cloud のみですか?

両方です。オンプレミスシステムへの接続は、BTP Destination ServiceとCloud Connectorを介して行われます。Build Appの観点からは呼び出しは同一ですが、顧客の観点からは前提条件が異なります — Cloud Connectorのデプロイ、オンプレミスODataサービスの有効化、およびネットワークルールです。

Q: SAP Build Apps のライセンスは2026年にどのように提供されますか?

2025年、SAPはBuildファミリーを統合し、統一されたSAP Buildライセンスとしました。お客様はサブスクリプション、BTPEAクラウドクレジット、またはPayGoを通じてこれを利用できます。Build Apps、Build Code、Build Process Automation、Build Work Zoneは統一された権利を共有し、ランタイム使用量(Visual Cloud Functions、モバイルビルド時間、プロモーション期間を超えたJoule)は従量課金されます。

Q: プロジェクトはいつBuild Appsの対象範囲を縮小し、プロコードに切り替えるべきですか?

具体的なシグナル:オフライン同期が必要、パフォーマンス予算が約2秒のファーストペイントより厳しい、アプリをFiori内に埋め込む必要がある、カスタムUI動作がマーケットプレイスを超える、ロジックキャンバスが1ページあたり約30ノードを超える、または監査/ソース管理の要件に完全なGitワークフローが必要。これらのうち1つでも該当すれば検討が必要となり、2つ以上該当すれば通常は判断が確定する。

Q: プロジェクトを超えて活用できるように、Build Appsの要件をどのように文書化すればよいですか?

各ページについて:ペルソナ、データソース(宛先名を含む)、ルール(ルール所有者を含む)、障害モード、および受入基準。各Visual Cloud Functionについて:入力スキーマ、出力スキーマ、副作用、およびルール所有者。要件ドキュメントは、別のチームが仕様からアプリをゼロから再構築できるようにする必要があります。このテストにより、ほとんどの「暗黙知」の失敗が明らかになります。

Q: Build Apps は内部ユーザー向けの Fiori を置き換えることができますか?

場合によっては — スタンドアロンで範囲が限定されたアプリ向けです。S/4 ローンチパッド内の組み込み拡張機能や、非常に大規模なリスト/編集操作には適していません。正直な答えは、「新しい限定アプリには Build Apps を、S/4 組み込み UX のロングテールには Fiori Elements / UI5 を」です。

Q: Build Apps にオフラインサポートは追加されますか?

SAPは、Build AppsにおけるオフラインOData同期について、公にコミットしていません。今後も提供されないものとして計画してください。オフライン対応が必須要件である場合、現時点ではMDKがサポートされているパスです。

Q: Joule for Developers は、Build Apps の日常業務において具体的にどのように役立つのでしょうか?

Q1/2026では、コード/数式の生成、既存のフロー機能の説明、およびスターターテンプレートの提案をカバーします。これは、フュージョンチームのプロフェッショナル側にとって生産性向上レイヤーとして最も有用です。シチズンデベロッパーも恩恵を受けますが、安全性のレビューには依然として人間が必要です。

概要

Build Appsとプロコードのカットライン比較

SAP Build Appsは、BTP接続システムと連携するオンラインアプリには成熟しており、オフラインモバイルや組み込みFiori拡張には弱く、AI駆動型UXはアーリーアダプター段階です。これをフュージョンチームのフロントエンドとして扱い、他の本番システムと同様にガバナンスを適用してください。サーバーサイドロジックにはVisual Cloud Functionsを活用してください。「このアプリはどの数値を動かすのか?」という問いに答えられないプロジェクトからは撤退してください。Build Appsのスピードが発揮されるのは、圧縮すべき具体的なものがある場合のみです。ローコードとプロコードの境界線は技術的な議論ではなく、要件定義時に行うスコープ決定です。

次に読むべきもの

IDタイトル
BTP-B01: アプリケーション開発の概要と機能マップ本記事が該当するマップ
BTP-B02: Business Application Studio:アーキテクチャと使用方法CAP / UI5 / Build Code作業向けIDEホスト
BTP-B03: CAPとBuild Code:アーキテクチャと使用方法Build Appsと最も頻繁に組み合わせられるプロコードバックエンド
BTP-B04: ABAP環境:アーキテクチャと使用方法拡張対象がJava/NodeではなくABAPの場合
BTP-B05: Build Apps:アーキテクチャと使用方法(本記事)
BTP-B06: Build Process Automation:アーキテクチャと使用方法Build Appsと連携するワークフロー+RPA
BTP-B07: Build Work Zone:アーキテクチャと使用方法Build Appsの画面をエンドユーザー向けに集約する場所
BTP-B08: ユースケースと意思決定パターンBTP上のアプリケーション開発に関する分野横断的な意思決定ガイド