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.
更多Jerry的原创文章,尽在:"汪子熙":