SAP ABAP 平台新的编程模型
ABAP 编程语言的演变
在过去 40 多年中开发的所有 SAP 功能中,大部分都是用 ABAP 编写的。ABAP 编程语言是我们的旗舰语言,并且已经证明它是开发业务应用程序的经过验证的强大平台。
多年来,SAP 对 ABAP 编程语言进行了更新和现代化,我们可以区分 3 个主要里程碑:
- 经典 ABAP 编程语言(最高至 Netweaver ABAP 7.50)
- SAP FIORI 的 ABAP 编程模型(从 Netweaver ABAP 7.50 开始)
- RESTful ABAP 编程模型(自 ABAP 平台 1909 起可用)
众所周知,我们的许多 SAP 客户仍在使用可用于基于 SAP Netweaver 7.40 及更低版本的 SAP 产品的经典 ABAP 编程模型运行和开发 SAP 软件。
随着 ABAP 版本 7.4,SAP 开始为 SAP HANA 内存数据库(代码下推)优化 ABAP 平台,但其中许多应用程序仍然基于经典的 Dynpro、Web Dynpro ABAP、Floorplan Manager 和 WebClient UI 框架。
SAP Fiori的ABAP 编程模型 随 SAP Netweaver 7.50 一起发布,提供了一种标准化的方式来高效地开发现代 SAP HANA 优化的基于 Web 的应用程序。
为什么是编程模型?因为它提供了一个标准化的、有据可查的、模型驱动的编程模型,可以极大地改进默认实现任务。当然,可以在没有预定义编程模型的情况下开发应用程序。然而,这导致了跨不同应用领域的非常异构的方法(例如,没有用于集成测试的通用方法、端到端堆栈的可追溯性和支持工具、无法保证 UI 解耦等……)
SAP Fiori 的 ABAP 编程模型基于成熟的技术(CDS、BOPF 和 SAP Gateway)。
在 SAP Netweaver 7.51 中,SAP Fiori 的 ABAP 编程模型得到了改进,添加了额外的功能以支持无状态应用程序(消除传统客户端-服务器模型的紧密耦合以避免服务器粘性,以便应用程序可以从一个应用程序服务器迁移到另一个,以便应用程序上下文不存储在应用程序服务器级别)
ABAP 平台的主要投资之一是RESTful ABAP 编程模型 (RAP),该模型自 SAP Cloud Platform 1808 发布以来已普遍可用,现在也可用于 SAP S/4HANA 内部部署和 ABAP 平台 1909 - 前提发布。
RESTful ABAP 编程模型是 SAP Fiori ABAP 编程模型的进化继承者。它包括 ABAP 语言、开发工具和框架的基本扩展,可在 AS ABAP 中实现本质上 SAP HANA 优化的 SAP Fiori 应用程序和 Web 服务的高效端到端开发。
本次 shipment 的重点是查询(只读应用)的使用以及基于现有应用逻辑的非托管事务性应用的开发:
借助这种全新的 RESTful ABAP 编程模型,您可以扩展现有的 SAP ABAP 应用程序或使用最先进的技术开发新的应用程序。
但我们知道,有时客户更喜欢或需要使用不同的编程语言、工具和/或框架……这就是 SAP 还提供新的编程模型的原因,SAP 云应用程序编程模型 (CAP) ,这是一个开放的框架,包含用于构建企业级服务和云原生应用程序的语言、库和工具。
SAP Cloud 应用程序编程模型 (CAP) 也像 RESTful ABAP 编程模型 (RAP) 一样基于核心数据服务 (CDS),但提供对 JAVA 和 node.js 的支持,并且可以更灵活地集成其他框架、库和工具。
让我们尝试总结一下 SAP 当前提供的用于开发/扩展 SAP 应用程序的解决方案。SAP 提供了两种基于 REST 的应用程序编程模型:
(1) ABAP RESTful 编程模型 (RAP)
- FIORI 的 ABAP 编程模型的演变
- 自 1808 年以来可用于 SAP Cloud Platform、ABAP 环境
- 可用于 1909 年以上的 S/4HANA(目前功能范围已缩小)
(2) SAP 云应用程序编程模型 (CAP) 基于 CDS 但基于 Node.js 和 JAVA
值得注意的是,云平台应用程序编程模型(或 CAP)和 Restful ABAP 编程模型(RAP)在概念上的相似性。两者都基于 CDS(核心数据服务),但在 CAP 中是在 Java 或 Node.js 上实现的,而不是 ABAP.
相关文章
- EasyCVR对接华为iVS订阅摄像机和用户变更请求接口介绍
- 精选 | 腾讯云CDN内容加速场景有哪些?
- 模块化网络防止基于模型的多任务强化学习中的灾难性干扰
- 用搜索和注意力学习稳健的调度方法
- 用于多变量时间序列异常检测的学习图神经网络
- 助力政企自动化自然生长,华为WeAutomate RPA是怎么做到的?
- 使用腾讯轻量云搭建Fiora聊天室
- TSRC安全测试规范
- 云计算“功守道”
- 助力成本优化,腾讯全场景在离线混部系统Caelus正式开源
- Flink 利器:开源平台 StreamX 简介
- 腾讯云实践 | 一图揭秘腾讯碳中和?解决方案
- 深度学习中的轻量级网络架构总结与代码实现
- 信息系统项目管理师(高项复习笔记三)
- Adobe国际认证让科技赋能时尚
- c++该怎么学习(面试吃土记)
- 面试官问发布订阅模式是在问什么?
- 面试官:请实现一个通用函数把 callback 转成 promise
- 空中悬停、翻滚转身、成功着陆,我用强化学习「回收」了SpaceX的火箭
- 中山大学林倞解读视觉语义理解新趋势:从表达学习到知识及因果融合