目次
この記事のポイント
- CAPはBTP上のオープンソース開発モデル(Apache 2.0)。CDS定義からOData API・Fiori UIを自動生成
- Node.js(@sap/cds)とJava(Spring Boot)の2ランタイム。cds initから10分で動くAPIができる
- S/4HANA拡張の標準は「スタック内=RAP、BTP上=CAP」。destination経由のRemote Serviceで安全に連携

WHAT なぜCAPが生まれたのか:BTP開発の複雑さとその解消
SAP BTP上でアプリを開発する際、従来は言語・フレームワークの選定から、ODataサービスの実装、認証、DB接続、UI構築までをすべて手作業で行う必要がありました。この「土台づくり」に工数が取られ、本来作りたい業務ロジックに時間を使えないというのが、多くのプロジェクトに共通する課題でした。
CAP(Cloud Application Programming Model)は、この課題を解消するためにSAPが提供するオープンソースの開発モデル(Apache 2.0ライセンス・GitHub: sap/cap)です。データモデルをCDS(Core Data Services)という宣言的な言語で定義するだけで、データベース層・OData V4 API・Swagger UI・Fiori Elements UIが自動生成されます。サポートするランタイムはNode.js(@sap/cds)とJava(Spring Boot)の2つで、ローカル開発中はSQLite、本番ではSAP HANA CloudやPostgreSQLに接続し、Cloud FoundryまたはKyma(Kubernetes)へデプロイします。
S/4HANAの拡張開発では「スタック内(on-stack)はRAP(ABAP RESTful Application Programming Model)、BTP上(サイドバイサイド)はCAP」という役割分担が標準です。S/4HANAのABAP環境を直接変更せず、BTP上に分離された拡張アプリを構築できるため、S/4HANAアップグレードの影響を受けにくいという利点があります。
POINTS CAP開発で押さえる3つのポイント
- ① 開発の流れ:
cds init incidents-appでプロジェクトを作成 →db/schema.cdsでデータモデルを定義 →srv/service.cdsでサービスを公開 →cds watchでローカル起動。たったこれだけで http://localhost:4004 にOData v4のエンドポイントとSwagger UIが生まれ、cds add fioriでFiori Elementsの画面プレビューまで自動生成されます。10分もあれば「動くAPI」が完成します - ② 2つのランタイムとデプロイ先:Node.jsはExpressベースの@SAP/cds、JavaはSpring Bootベース。ビルドした成果物はCloud Foundryなら
cf push、Kubernetes環境ならKymaへデプロイします。マルチテナント対応(MTX)や監査ログ、認証(XSUAA)も標準機能として備わっています - ③ 既存SAPとの連携:Remote Serviceを使うと、S/4HANAやSAP SuccessFactorsなどのODataサービスをdestination経由で呼び出せます。
cds importでS/4HANAのサービス定義をインポートし、顧客マスタや受注データを参照する拡張アプリを安全に構築できます。Enterprise Messagingを介したイベント連携で、業務イベントをトリガーにした非同期処理も可能です


INSIGHT CAPが変える「SAP×AI」の可能性
CAPの本質は「既存SAPのデータ資産を、モダンな開発手法で活用するための橋渡し」です。BTP上に分離された拡張アプリは生成AIやLLMと組み合わせる自由度が高く、ADTはこの領域で「SAP×AI」の支援を進めています。例えば、S/4HANAの受注・保守データをRAGの知識源にし、現場の問い合わせに答える社内CopilotをCAPで構築する、といった形です。機密データを外部に送らずに済むローカルLLMの活用方法は、ローカルLLMで実現する、安全なSAP×AI活用の記事で解説しています。
S/4HANA移行を計画中の企業にとっては、移行後の拡張基盤としてCAPを位置づけることで、レガシーなカスタマイズの新規追加を防ぎ、標準化と拡張性を両立できます。移行プロジェクト全体の進め方は、S/4HANA移行、最初に押さえるべき5つのポイントをご覧ください。また、基幹業務データを扱う際の画面・データ設計の考え方は、SAP S/4HANA固定資産管理 ①資産を「買う」ときの記事も参考になります。
FAQ よくある質問
CAPとRAPの違いは何ですか?
CAPはBTP上でNode.js/JavaとCDSを使うクラウドネイティブな開発モデル、RAPはS/4HANA内部でABAPを使う開発モデルです。S/4HANAスタック内の機能拡張はRAP、BTP上でのサイドバイサイド拡張はCAPが標準です。
CAPを学ぶのに必要な知識は?
JavaScript(またはJava)の基礎とCDSの考え方です。SAP GUIやABAPの経験は不要です。cds initでひな型を作り、cds watchで動かしながら学ぶのが最短ルートです。
CAPは無料で使えますか?
CAP自体はApache 2.0のオープンソースで、Node.js環境ならローカル開発は無料です。BTP上へのデプロイにはBTPアカウント(無料のトライアルあり)が必要です。公式ドキュメント cap.cloud.sap で一通り学べます。
出典・参考
- Cloud Application Programming Model 公式ドキュメント(cap.cloud.sap) https://cap.cloud.sap/docs/
- SAP Help Portal — Cloud Application Programming Model(SAP) https://help.sap.com/docs/cloud-application-programming-model
- GitHub — sap/cap(SAP) https://github.com/sap/cap
- SAP Community — Cloud Application Programming(SAP) https://community.sap.com/topics/cloud-application-programming
※本記事は上記の公開情報をもとに、アラディンテクノロジー株式会社編集部が独自に整理・考察したものです。内容は執筆時点(2026-08-19)の情報です。考察部分は当社の見解であり、特定の製品・導入を推奨するものではありません。掲載の画面はSAPの画面を参考にしたモックアップ(イメージ)です。