【学习系列】SAP RAP 1:关于RAP的一些基本介绍

SAP RAP技术总结
专栏收录该内容
¥15.90
¥99.00
33 篇文章

前言

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.jsJava,与数据库(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 CDSCDS (通用,跨语言)
运行环境ABAP 平台(On-prem + Cloud)SAP BTP Cloud Foundry/Kyma
API 类型OData V2/V4 (REST 原生)OData V2/V4, REST, GraphQL
UI 支持Fiori ElementsFiori Elements, 任意前端
业务逻辑ABAP Class/BehaviorNode.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这些场景的实现方式,以及一些细节的内容,后面想到哪写到哪吧,如有不对欢迎指正。

VIP SAP技术解析 - RAP(RESTful Application Programming)如何成为On-stack与Side-by-side扩展的统一桥梁 本文深入解析SAP RAP(RESTful Application Programming)如何作为On-stack与Side-by-side扩展的统一桥梁,通过标准化的OData服务和CDS视图实现代码复用率70%以上。RAP不仅简化了S/4HANA升级适配工作,还支持ABAP开发者在BTP平台上高效构建云原生应用,是现代化SAP扩展开发的核心解决方案。 开通可读全文·220 阅读·4 点赞·5 收藏 阅读全文

相关推荐

学习系列SAP RAP 2:创建第一个RAP应用

本文介绍了从零开始创建基于SAP RAP(ABAP RESTful Application Programming Model)的Fiori应用的完整流程。首先说明了学习RAP需要结合官方文档和教程,并提供了相关资源链接。文章详细讲解了开发环境的准备要求,包括系统版本、开发工具和基本知识。重点演示了如何通过8个步骤创建支持CRUD操作和草稿功能的RAP应用:1)创建数据库表;2)定义CDS视图实体;3)创建投影视图;4)定义行为;5)创建行为投影;6)定义服务;7)绑定服务;8)添加UI注解。

DeveloperMrMeng的博客 1389

ABAP_RAP_OPENSAP:打开SAP ABAP RAP钱包

ABAP_RAP_OPENSAP 打开SAP ABAP RAP钱包

SAP OData 开发教程 - 从入门到提高(包含 SEGW, RAP 和 CDP)

SAP 产品里,存在多种 OData 服务的开发方式,其中最典型的三类,SEGW, RAP(Restful ABAP Programming) 和 CDP(Cloud Application Program),就是笔者在本教程里会为大家分享和讲解的内容。同笔者的另一个 SAP UI5 教程《SAP UI5 应用开发教程的学习目录 - 循序渐进,由浅入深,适合不同水平的 SAP UI5 开发人员》一样,本教程笔者计划通过 300 篇以上的文章篇幅,分别介绍这三类 SAP 主流的 OData 服务开发技术。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1万+

30分钟用 Restful ABAP Programming(RAP)模型开发一个支持增删改查的 Fiori 应用

2016年时,Jerry曾经写过一系列关于SAP Fiori Smart Template(现在更名为Fiori Elements了)的博客,介绍了所谓的MDD开发方法论 - Metadata Driven Development,即通过开发维护了对应annotation(注解)的CDS view,结合SAP WebIDE,能够花费最少的编程代价,就能够在短时间内获得一个支持增删改查的Fiori应......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5896

4、SAP开发,RAP与CAP有什么区别

需要注意的是,虽然RAP和CAP有一些区别,但它们都旨在帮助开发者构建企业级应用程序,并提供了一致的商业建模和开发抽象模型。技术栈:RAP是基于ABAP技术栈的开发模型,而CAP是基于Node.js和Java等技术栈的开发模型。部署环境:RAP应用主要部署在SAP NetWeaver ABAP环境中,而CAP应用可以在SAP Cloud Platform、云托管平台或本地环境中部署。开发生态系统:RAP开发主要在SAP ABAP开发者社区中进行,而CAP开发更多地与开源社区和Node.js生态系统相结合。

小球童的专栏 1998

SAP RAP(RESTful Application Programming)简介

现在SAP 推荐的是第二种和第三种,但是估计第二种只是存量,

woniu_maggie的博客 1689

SAP RAP学习系列合集介绍

SAP RAP学习系列合集:从入门到部署的完整指南》摘要: 本文介绍了作者创建的SAP RAP学习系列合集,涵盖RAP开发从基础概念到实战部署的全流程。系列目前包含17篇文章,系统讲解了RAP核心开发技术:从数据建模、UI构建到行为定义(包括并发控制、草稿功能、授权验证等),最后详细演示了应用部署到Fiori Launchpad的两种方案(OP版和ES版)。

DeveloperMrMeng的博客 1393

SAP学习笔记 - 开发36 - RAP开发 RAP架构图,RAP的优势/特点,RAP的组成结构,开发方法,开发工具,开发流程 等概念

本章讲了RAP的相关知识,比如 RAP架构图,RAP的优势/特点,RAP的组成结构,开发方法,开发工具,RAP架构图中的Business Object/ Business Service,RAP的开发流程。。

shi_ly的专栏 3700

SAP学习笔记 - 开发11 - RAP(RESTful Application Programming)简介

RAP(RESTful Application Programming)简介,ABAP的种类,Package的创建,Class的创建,Hello World等等。另外还有开发的准备工作介绍

shi_ly的专栏 3645

SAP学习笔记 - 开发56 - RAP开发 Managed App RAP action: Processor/ Approver,Copy Travel 功能实现

本章讲了RAP actions,主要是实现了 Copy 功能。步骤就是后台拿到 keys,然后循环根据每个key,去拷贝关联表(Travel_M,Bookng_M,Booksuppl_M)。其中还用到 early numbering来进行採番。注意点就是 cid,cid_ref,因为是新规,尚未产生Key ID,所以必须用它们来做表关联。

shi_ly的专栏 1867

学习系列SAP RAP 18:Unmanaged场景开发示例-基本数据更新

本文介绍了在SAP RAP中unmanaged模式下从0到1的开发步骤。unmanaged模式下需要自行实现数据更新、权限检查等逻辑,适用于操作现有数据库表或复杂业务场景。文章以两层的采购订单对象为例,详细说明了创建技术对象(表、视图、行为定义等)的过程,并重点阐述了如何实现CRUD相关方法的核心逻辑。通过创建缓冲类来处理交互阶段和保存阶段的数据操作,确保事务一致性。完整代码展示了抬头层级的增删改查功能实现,为后续明细层级的开发奠定了基础。

DeveloperMrMeng的博客 606

学习系列SAP RAP 17:RAP应用部署集成至Fiori Launchpad 【S4HC Public Edition】

本文详细介绍了在SAP S/4HANA Cloud环境中部署RAP应用集成到Fiori Launchpad的两种方法:使用BAS(SAP Business Application Studio)和VSCode。主要步骤包括:1)在BTP中配置Destination连接ES环境;2)设置信任关系;3)创建BAS开发空间;4)通过Fiori应用生成器部署RAP应用;5)创建IAM App、Business Catalog和Business Role;6)配置Launchpad Space和Pages。文章还提供

DeveloperMrMeng的博客 906

SAP学习笔记 - 开发35 - RAP(RESTful Application Programming)中的各种概念,On-stack,Side-by-side,Steampunk等

本文讲了 RAP(RESTful Application Programming)中的各种概念,On-stack,Side-by-side,Steampunk,Embedded Steampunk,Clean Core等等。

shi_ly的专栏 2257

SAP学习笔记 - 开发57 - RAP开发 Managed App RAP action 之 Accept Travel 和 Reject Travel

本篇讲了 RAP action 的另外两个功能,Accept Travel,Reject Travel 。功能本身很简单,其实现方式还不错,可以一定程度上对应客户的个性开发需求。

shi_ly的专栏 1829

学习系列SAP RAP 4:通过注解来完成一些常规需求

本文介绍RAP应用中常用注解的实现方式,包括搜索帮助、文本描述绑定、联动搜索、字段控制等功能。通过@Consumption、@UI等注解可以实现搜索帮助定义、多字段联动、必输校验、默认排序和默认值设置。管理字段可通过@Semantics注解自动记录创建/修改信息,长文本使用@UI.multiLineText实现多行显示。这些注解可优化界面交互和数据管理,为后续行为定义功能开发奠定基础。文章结构清晰,针对不同需求提供了具体的实现方案和代码示例。

DeveloperMrMeng的博客 632

学习系列SAP RAP 15:如何使用Messages

本文介绍RAP框架中消息机制的核心概念与应用。消息分为TransitionMessages(过渡消息)和StateMessages(状态消息)两类:过渡消息与单次请求相关,如操作成功提示,请求结束后消失;状态消息则持久绑定业务对象实例,反映实例状态问题直至修复。文章详细说明了两种消息的实现方式,包括关键参数(%tky、%msg、%state_area等)的配置要点,并通过具体代码示例演示了在Action中实现过渡消息和在Validation中实现状态消息的方法。最后对比了new_message_with_

DeveloperMrMeng的博客 523

学习系列SAP RAP 13:行为定义-Business Event

本文介绍了ABAP行为定义中BusinessEvent(业务事件)的概念和用法,重点演示了两种基本用途:本地事件消费和事件触发SideEffects。文章首先说明了业务事件作为异步执行机制的用途,然后详细展示了如何在云环境中创建开发对象、定义事件、触发事件以及实现本地事件消费。接着介绍了如何通过业务事件触发SideEffects实现异步界面更新功能,包括后台处理框架的应用和测试效果展示。文中还指出某些功能在不同版本中的限制,并提供了相关参考链接。作者表示后续将继续介绍行为定义中的其他概念。

DeveloperMrMeng的博客 703

SAP CAP(Cloud Application Programming)知识介绍学习路径

本文介绍SAP CAP框架的基础知识,并结合ABAP技术栈的特点,给出了CAP建议的学习路径。

SAP领域技术博客 3417

学习系列SAP RAP 29:如何创建Application Jobs(下)

本文介绍了在SAP系统中通过API创建和使用Application Jobs的方法。主要内容包括:1) 创建RAP应用并通过Action调用API创建Jobs;2) 使用事件驱动方式异步更新Job状态;3) 通过URL跳转到标准日志页面;4) 使用Custom Entity获取Job日志;5) 演示遗留接口IF_APJ_DT_EXEC_OBJECT和IF_APJ_RT_EXEC_OBJECT的使用。文章提供了详细的代码示例,展示了如何通过CL_APJ_RT_API=>SCHEDULE_JOB调度作业,

DeveloperMrMeng的博客 323
上一篇: SAP RAP学习系列合集介绍
下一篇: 【学习系列】SAP RAP 2:创建第一个RAP应用
DeveloperMrMeng
博客等级 码龄5年 1750粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeveloperMrMeng

觉得有用的佛系投币哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值