ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来

这是 Jerry 2021 年的第 56 篇文章,也是汪子熙公众号总共第 333 篇原创文章。

本文目录

  • SAP R/1:ABAP 初出茅庐
  • SAP R/2:ABAP 初试锋芒
  • SAP R/3:ABAP 一鸣惊人
  • ABAP 的语法
  • SAP ALV
  • ABAP 的未来
  • ABAP 将来会消亡吗/li>

SAP 总是善于根据市场最新的动态和变化,来调整其产品的命名策略。一个例子就是从诞生之初的 SAP HANA Cloud Platform,到 SAP Cloud Platform,再到如今的 SAP Business Technology Platform (简称 SAP BTP).

而作为 SAP 最成功,最为人所知,最具代表性的标志之一,ABAP, 诞生之初的德文全称是 “Allgemeines Beleg Auswertungs Programm”, 翻译成英语为 “General Program to Evaluate Documents”, 中文意思为 “处理评估文档的通用程序”。

其后 ABAP 伴随着 SAP R/2 到 SAP R/3 的成长,其全称也更名为 “Allgemeiner Berichts Aufbereitungs Prozessor”, 翻译成英文为 “Generic Report Preparation Processor”, 即 “通用报表编写处理器”。

ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来

同年,这 5 名 IBM 前员工创立了 SAP. 1976 年,约有 30 名 SAP 员工,在 SAP R/1 上支持着大约 50 个客户。SAP R/1 又被称为 SAP RFM, 是 RF (Financial Accounting, 财务会计) 和 RM (Inventory Management/Invoice Verification, 库存管理和发票校验) 模块的衍生工具。

SAP R/1 中的 R 代表 Real Time,即实时处理。如今的 ABAP 开发人员眼中被视为天经地义的 ABAP 应用服务器三层架构,即 Presentation,Application 和 Database 的三层设计,在 SAP R/1 里都合并在同一台物理服务器上,这也是 SAP R/1 中 1 的含义。

当年的 SAP 还没有独立的办公室,SAP 员工直接在客户现场工作。员工们坚信,这样做能有助于开发出客户真正需要的产品,并对其持续优化。

此时的 ABAP,只是被用来简单地根据客户的主数据和事务数据创建展现报表,就像初出茅庐,尚未通过火烧博望坡和火烧新野而崭露头角的诸葛孔明一样,还没有向业界展示出自己真正的潜力。

ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来

1980 年,SAP 的员工数增长到了 80 多名,搬到了新的 Walldorf 办公室。

ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来

SAP R/3:ABAP 一鸣惊人

SAP R/3 于 1992 年发布,是 SAP ERP 系统的客户机/服务器版本,后来成为 SAP 最受客户欢迎的产品之一。SAP R/3 从某种程度上说树立了 ERP 软件的行业标准:很长一段时间内,SAP 几乎成为了 ERP 的同义词。

SAP R/3 中的数字 3,代表展现层,应用层和数据库层分别部署,这也标志着 SAP R 系列的软件发展到成熟期。

ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来

ABAP 的语法

由于历史原因,ABAP 语法受同时代编程语言 COBOL(Common Business-Oriented Language) 影响很大。

COBOL 采用 300 多个英语单词作为保留字,以一种接近于英语书面语言的形式来描述数据特性和数据处理过程,便于理解和学习。

COBOL 是专门为企业管理而设计的高级编程语言,可用于统计报表、财务会计、计划编制、作业调度、情报检索和人事管理等方面。

ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来

同时,ABAP 支持使用 OPEN SQL 的方式,在应用程序中直接对数据库内容进行读写操作,为开发人员屏蔽了数据库连接和数据库接口的细节,这一设计在同时代其他编程语言中并不常见,也大大提高了 SAP 应用程序的开发效率。

ALV

一谈起《三国演义》中的水镜先生司马徽,就不得不说到他的 “三国演义十大谎言排名之首” 的那句 “卧龙凤雏,得一可安天下”。

同样,说到 ABAP,就不能不提 ALV.

ALV 最初称为 ABAP List Viewer,后来更名为 SAP List Viewer,可以说只要有 SAPGUI 报表需求的地方,就有 ALV 的身影。时至今日,Jerry 所处的一些 SAP 开发技术群里,ALV 相关的编程讨论,仍然是一个热门的话题。用户和市场需求说明一切:ALV 能帮助 ABAP 开发人员根据客户数据,快速开发出其需要的各种维度的展现和分析报表。这个工具如此受开发人员和客户的欢迎,以至于每当 SAP 推出一种新的 UI 技术比如 Webdynpro, Fiori 或是新的数据建模方式后,SAP 开发生态圈总是大声疾呼,要求提供使用编程技术的 ALV 实现方案。

ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来

ABAP 对云端编程环境的支持,通过一个代号为 Steampunk (蒸汽朋克) 的项目所启动,在 Jerry 之前的文章 从 SAP 社区上的一篇博客开始,聊聊 SAP 产品命名背后的那份情怀 里有详细介绍。

ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来

另一方面,如今随着 ABAP 不断的进化,很多最新的开发特性,比如 CDS view,Restful ABAP Programming 开发对象诸如 Behavior Definitions, Service Bindings 等等均只能在 ABAP Development Tool 中创建和管理。这也预示着传统的 ABAP 开发人员,如果想紧跟 ABAP 演进的步伐,自身也需不断学习和提高。

ABAP 将来会消亡吗/h1>

网络和社区上始终存在着关于 ABAP 是否会消亡的讨论。

ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来

作为一门拥有数十年历史的编程语言,ABAP is Old. 但 Jerry 更愿意仿照 T800 这句金句来表达我对 ABAP 的开发:

ABAP is old, but not obsolete.

当然,更能代表 SAP 官方观点的评论,莫过于 SAP 开发大佬 Thomas Jung 这句:

ABAP Is Not Dead, But Also Not the Only Answer.

ABAP 不会过时,只是不再会是唯一的选择。

ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来 汪子熙 ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来 微信公众号 ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来 SAP成都研究院开发专家

来源:汪子熙

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月19日
下一篇 2022年8月19日

相关推荐