【学习系列】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.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 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这些场景的实现方式,以及一些细节的内容,后面想到哪写到哪吧,如有不对欢迎指正。

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

相关推荐

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 年 5947

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万+

【学习系列】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的博客 1495

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

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

DeveloperMrMeng的博客 637

【学习系列】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的博客 959

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

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

DeveloperMrMeng的博客 694

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

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

DeveloperMrMeng的博客 539

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

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

DeveloperMrMeng的博客 715

ABAP_RAP_OPENSAP:打开SAP ABAP RAP钱包

ABAP_RAP_OPENSAP 打开SAP ABAP RAP钱包

桑基图实战指南:Excel/Python/R三工具高效绘制方法

桑基图是一种以线条宽度编码流量大小、以节点位置表达流程阶段、以连接关系呈现数据流向的专项可视化技术,其核心原理在于‘宽即量、位即序、连即逻辑’。它并非装饰性图表,而是面向业务诊断的分析前置工具,尤其适用于预算分配、能源损耗、用户转化等存在明确单向流动与显著数值差异的场景。相比传统柱状图或漏斗图,桑基图能天然暴露系统瓶颈与隐性损耗,大幅提升决策效率。本文聚焦工程落地,覆盖Excel插件快速交付、Python Plotly交互开发、R networkD3生态集成三大主流路径,兼顾数据准备铁律、索引映射规范与中文

cuml0912的博客 486

拆开华为BBU5900,看看5G基站的大脑里到底装了啥?

本文深度拆解华为BBU5900,揭示5G基站核心处理单元的硬件架构与设计哲学。通过详细解析模块化设计、智能电源系统和动态散热方案,展现其支撑千兆速率、毫秒级时延的技术奥秘,为5G网络部署提供实用参考。

weixin_31456563的博客 556

MiniMax H3 + ComfyUI 工作流搭建指南:从整合包到视频生成

AI视频生成正成为内容创作的新基础设施,而ComfyUI作为可视化工作流引擎,将复杂的模型推理过程拆解为节点与连线,让本地视频生成变得可复用、可批量。理解这一原理后,用户无需编写代码,只需掌握模型加载、提示词控制、采样与解码的基本链路,即可搭建出稳定的视频生产管线。MiniMax H3作为前沿视频生成模型,在ComfyUI中通过权重文件和自定义节点落地,配合整合包可大幅降低环境配置门槛。从硬件评估、目录结构到节点连接与参数调优,本文系统性梳理了从零跑通一条视频生成工作流的完整路径,帮助用户在批量素材生成、风

weixin_29057065的博客 410

手把手教你用闲置安卓手机+蓝鲸支付,零成本搞定个人项目自动收款(附私有化部署教程)

本文详细介绍了如何利用闲置安卓手机和蓝鲸支付系统,零成本搭建个人项目自动收款解决方案。通过私有化部署教程,读者可以学习到从手机选择、系统配置到支付渠道对接的全流程,实现安全、高效的收款系统,特别适合个人开发者和小型项目使用。

weixin_29597551的博客 334

Frida实战:高效dump Android内存中的so文件与修复技巧

本文详细介绍了使用Frida工具dump Android内存中已解密so文件的实战技巧。针对加固应用静态分析失效的痛点,文章提供了从环境搭建、使用frida_dump脚本自动化抓取内存数据,到利用SoFixer工具修复ELF文件结构的完整流程,帮助逆向分析人员高效获取可分析的so文件。

tt34567的博客 526

《揭秘 BME688人工智能压力湿度温度气体传感器:气体检测的多面能手》:此文为AI自动生成

BME688 是博世推出的一款具有人工智能和集成高线性度高精度压力、湿度、温度传感器的气体传感器,专为移动和联网应用开发,尺寸紧凑且低功耗。BME688 作为一款先进的传感器,在多个领域展现出卓越的性能。它采用了坚固而紧凑的 3.0 x 3.0 x 0.9 mm³ 封装,这种小巧的尺寸使其能够轻松应用于对空间要求严格的移动设备和联网应用中。同时,低功耗的特性也使得它在能源有限的环境下能够长时间稳定运行。

zheng_ruiguo的专栏 1923

Pinocchio 快速详细入门教程 —— 开源机器人运动学动力学库

本文介绍了机器人学中的数字机器人学、正逆运动学、动力学仿真与控制、最优控制等核心主题,以及Pinocchio库的应用。内容包括: 数字机器人学:通过UR5机器人模型演示了构型空间采样、碰撞检测、路径规划等基础操作,使用优化方法在约束条件下寻找有效构型。 运动学:详细讲解了二维和三维机器人的正运动学(构型到末端位置)和逆运动学(目标位置到构型),包括串联机械臂和并联机器人的处理。 动力学与控制:介绍了动力学仿真(如自由落体、摩擦效应)、PD控制、计算扭矩控制,以及接触仿真(碰撞检测与处理)。 最优控制:以独轮

机器人控制与仿真应用 2883

破盾实录|Vueling航空阿卡迈防护逆向:从503挑战到Cookie生成的全流程拆解

摘要:文章分享了作者在爬取西班牙伏林航空(Vueling)机票数据时,遭遇阿卡迈(Akamai)防护系统的实战经历。起初简单的请求被拦截返回503错误,分析发现阿卡迈通过混淆JS代码实施"挑战-验证"机制,需模拟真实浏览器环境才能获取有效Cookie。作者详细拆解了逆向过程:从抓包分析JS挑战流程,到破解代码混淆和控制流平坦化,最终用Python+Pyppeteer成功模拟浏览器特征,突破防护获取数据。整个过程涉及JS反混淆、环境检测绕过和Cookie生成验证等关键技术点,为类似防护系统

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1641

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: SAP RAP学习系列合集介绍
下一篇: 【学习系列】SAP RAP 2:创建第一个RAP应用
DeveloperMrMeng
博客等级 码龄5年 1767粉丝 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、付费专栏及课程。

余额充值