前言
SAP Business Technology Platform (SAP BTP) 于 2021 年 1 月推出,是 SAP 独特而强大的解决方案产品。它是整个 SAP 生态系统的技术基础,对所有 SAP 客户和合作伙伴都发挥着至关重要的作用。
SAP BTP 提供 2 种主要编程模型来构建企业应用程序:
- ABAP RESTful 应用程序编程模型 (RAP)
- SAP 云应用程序编程模型 (CAP)
什么是SAP RAP
ABAP RESTful 应用程序编程模型 (RAP) 是 ABAP Cloud 的基本要素,ABAP Cloud 是 ABAP 开发模型,用于在 SAP BTP、SAP S/4HANA Cloud 和 SAP S/4HANA 上构建符合干净核心、云就绪的业务应用程序、服务和扩展。RAP 是 ABAP Cloud 的核心,用于构建事务性 SAP Fiori 应用程序、基于 OData 的服务和扩展。
RAP 包含一套概念、工具、语言和强大的框架,可帮助开发人员构建创新的、云就绪的 SAP Fiori 应用程序以及本地和 Web API。它还支持在云和本地部署中扩展 SAP S/4HANA 标准应用程序。
RAP 利用 ABAP 核心数据服务 (CDS)、扩展的 ABAP 语言以及现代 ABAP 开发工具 (ADT) 中的业务服务提供标准化开发流程。
可以使用 RAP 开发和建模不同类型的服务、本地 API 和 business 事件:
- 基于 OData 的 UI 开发服务,用于构建令人愉悦的、基于角色的、响应式的、支持草稿的 SAP Fiori 应用程序
- 基于 OData 的服务,用于作为 Web API 公开
- 可以通过发布的 RAP 业务对象接口提供生命周期稳定且升级安全的本地 API
- 可用于异步通信的业务事件,以通知使用者 RAP BO 已更改
RAP 开发堆栈提供了可测试性、可支持性、可文档性和可扩展性的内置选项,例如 ABAP 单元测试、ABAP 交叉跟踪工具和知识转移文档。
在 RAP 框架中无缝集成业务事件和变更文档等重用组件,以降低开发总成本。例如,开发人员可以轻松启用业务事件的公开,并允许在基于 RAP 的应用程序中创建变更文档。
SAP 使用 ABAP RAP 构建新的标准业务应用程序并对现有业务应用程序进行现代化改造,并将其推荐给客户和合作伙伴,用于他们自己的定制开发。

核心概念
-
CDS View:数据建模。
-
Behavior Definition/Implementation:业务逻辑(CRUD、验证、动作)。
-
Service Definition/Binding:服务层(自动生成 OData V4 API)。
-
UI:天然支持 Fiori Elements。
什么是 SAP CAP
CAP (Cloud Application Programming Model)
-
是 BTP(SAP Business Technology Platform) 上的云原生应用开发框架。
-
提供统一的编程模型,支持 Node.js 和 Java,与数据库(SAP HANA)、服务(OData、REST、GraphQL)、以及 UI(Fiori Elements)无缝集成。
-
CAP 面向的是 多语言、多云环境,尤其适合构建 扩展应用、集成应用、独立云应用。

核心概念
-
CDS (Core Data Services):跨语言的数据建模语言。
-
Service Layer:OData/REST API。
-
Business Logic:可用 Node.js/Java 实现。
-
UI:支持 Fiori Elements 或自由 UI。
-
多租户、多服务集成:内建支持 SaaS 模式和与 BTP 服务的集成。
RAP vs CAP 对比
| 维度 | RAP (ABAP) | CAP (Node.js/Java) |
|---|---|---|
| 技术栈 | ABAP (S/4HANA) | Node.js / Java (BTP) |
| 数据建模 | ABAP CDS | CDS (通用,跨语言) |
| 运行环境 | ABAP 平台(On-prem + Cloud) | SAP BTP Cloud Foundry/Kyma |
| API 类型 | OData V2/V4 (REST 原生) | OData V2/V4, REST, GraphQL |
| UI 支持 | Fiori Elements | Fiori Elements, 任意前端 |
| 业务逻辑 | ABAP Class/Behavior | Node.js/Java 代码 |
| 优势 | 与 S/4HANA 深度集成(内核级),ABAPer 转型平滑 | 灵活云原生,多语言,多服务集成 |
| 适用场景 | 扩展 S/4HANA 标准(in-app/side-by-side),ABAP 应用开发 | 云原生新应用、跨系统集成、非 ABAP 团队开发 |
RAP:面向 S/4HANA 核心业务扩展,在 ABAP 平台内构建现代应用。
CAP:面向 BTP 云原生应用开发,支持更广泛的集成和扩展。
什么时候选择哪个
-
首选 RAP 的场景
-
你在 S/4HANA(本地或云) 内开发或扩展应用;
-
团队主要是 ABAP 背景,要充分利用现有 ABAP 遗留产物;
-
需求是 强业务逻辑 + 标准事务性应用(CRUD + Fiori Elements)。
-
-
首选 CAP 的场景
-
你在 BTP 上开发独立应用;
-
需要跨系统、跨云的 集成场景;
-
需要 非 ABAP 技术栈(Node.js/Java,更适合敏捷开发和微服务);
-
要做 多租户 SaaS 应用。
-
技术曲线对比
RAP 技术曲线
-
适合已有 ABAP 基础的团队;
-
入门门槛相对低(基于 ABAP、CDS、OO),学习曲线平滑;
-
深入后要掌握 Behavior 定义/实现、Draft、Unmanaged/Managed 等模式。
CAP 技术曲线
-
对 非 ABAP 开发者非常友好,尤其是 Node.js 背景;
-
需要掌握 CDS + OData + Cloud Native 概念;
-
要学会与 BTP 服务(HANA、Messaging、Workflow 等)集成;
-
曲线前期较陡峭,但一旦掌握,扩展性和灵活性极强。
为什么要学习 RAP?
在过去几年中,对 SAP 业务应用程序及其相关技术的要求发生了显着变化。除了对嵌入式分析和人工智能的要求不断提高外,这种演变的主要驱动力是:
• SAP HANA – 用于实时事务和分析处理的高性能内存数据库。
• SAP Fiori – 为智能企业选择的现代、直观和跨设备用户体验设计。
• 云 – 随着业务对云运营支持的需求不断增加,从混合(即云和本地)到纯云运营模式。
最终用户期望增强的产品质量,例如连续和协作工作——例如,在家开始工作,在通勤期间继续工作,并在公司完成任务,或者在不同设备类型上或协作完成任务。
产品质量(例如可扩展性、可测试性、可支持性、可扩展性、垂直化和可文档性)必须开箱即用。
为了满足 ABAP 平台上的这些不同要求,SAP 在 SAP BTP ABAP 环境和 SAP S/4HANA 上提供了 ABAP RESTful 应用程序编程模型 (RAP),无论是在本地还是在云中。
从下一篇开始,将会结合我已经掌握的内容开始总结实际开发的一些基本用法,目前的计划可能是会分别写一下managed,unmanaged,custom entity这些场景的实现方式,以及一些细节的内容,后面想到哪写到哪吧,如有不对欢迎指正。
370

被折叠的 条评论
为什么被折叠?



