ABAP的前世今生和未来

ABAP 是一个充满活力的环境,总能找到合适的方案来整合市场最新需求和创新

ABAP的前世

  说起ABAP的前世,就不得不先介绍两门历史悠久的语言——COBOLSQL

  COBOL语言,是一种面向过程高级程序设计语言,主要用于数据处理,是国际上应用最广泛的一种高级语言。COBOL是英文Common Business-Oriented Language的缩写,原意是面向商业的通用语言。它采用 300多个英语单词作为保留字,以一种接近于英语书面语言的形式来描述数据特性和数据处理过程,因而便于理解和学习。COBOL语言是专门为企业管理而设计的高级语言,可用于统计报表财务会计计划编制作业调度情报检索人事管理等方面。


  可以这么说,没有COBOL的诞生就不会有ABAP的出现,在ABAP的语法中我们可以找到许多COBOL的影子。

  SQL(结构化查询语言),是一种高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性强大的功能


  ABAP借鉴了SQL的语法,在ABAP中提供了OPEN SQLNATIVE SQL两种操作方式,能够对数据库中数据进行处理,为报表的生成提供数据,是ABAP中很重要的存在。

  ABAP——全称为(Advanced Business Application Programming),中文名的含义为:高级业务应用程序编程语言,是由SAP公司发布的一种事件驱动的编程语言。ABAP最早出现于1983年,借鉴了COBOL语言SQL设计的第四代开发语言,所以ABAP又被称为ABAP/4


  1999年,SAP公司发布了面向对象的ABAP,参考了C++和JAVA的设计,从此ABAP也可以基于OO来进行开发了,面向对象的ABAP是ABAP发展过程中的一个重要里程碑,至此ABAP的语法变得冗余起来,在ABAP语法中我们既可以找到面向过程的例子,也不乏面向对象的影子,可以说ABAP是一种既有传承又有发展的老一辈语言。


  2003年,ABAP又经过发展,衍生出了Web Dynpro for ABAP(WDA),用于WEB UI的开发,随即ABAP也成为了SAP中Web Dynpro的开发语言。


ABAP的今生

  ABAP自从诞生开始便随着SAP一代代新产品的推出在不断地进行自我革新。2015年S/4 HANA横空出世,此后ABAP也可以被支持在云平台上进行开发(ABAP For HANA)。


  在ECC版本时代,SAP Cloud Platform(SCP)还未诞生的时候,ABAP只能在SAP GUI集成环境中进行开发。而随着ABAP不断进行发展,现如今,在SAP Cloud Platform上已经支持ABAP的开发环境,这也让世界各地的开发人员,使用ABAP语言开发、构建新的Cloud应用程序成为了可能。

  云平台上的ABAP(ABAP in Cloud)是传统ABAP语言的一个子集,ABAP in Cloud移除了那些不符合云平台的安全规范ABAP的操作,例如直接访问文件系统。同时一些传统的report元素也不再可用,例如SE38中的选择屏幕等元素。ABAP in Cloud支持RESTful的编程模型,包含SAP FioriCore Data Services (CDS)


ABAP的未来

  【ABAP未来会过时吗】这个问题很久之前就在被津津乐道了,笔者还在高中的时期便对此话题多有听闻,但是时间冉冉过去快5年了,现在似乎看来ABAP并没有被淘汰过时,反而还一直有着其用武之地。
  在这张2022全球需求最大编程语言排行榜中我们可以看到ABAP排在第16位,这个位置可以说不高也不低,相较于其他编程语言来说,ABAP是封闭的,它只能运行在SAP环境中,这种独特特点赋予了ABAP稳定的外部环境——"我和谁都不争,和谁争我都不屑"

  在Jerry老师的这篇文章ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来的结尾曾经说到过:从 ABAP 诞生之日起至今,这门编程语言就不停地进行自我改造和不断地进化。考虑到全球在 ABAP 平台上运行软件的庞大客户群(其中相当一部分是 SAP 旗舰级产品 S/4HANA),以及SAP公司在ABAP 方面的创新事实证明:ABAP 是一个充满活力的环境,总能找到合适的方案来整合市场最新需求和创新。

  ——我老了,但我不过时 是对ABAP的最好描述了吧!


  ( 一 )作为SAP ECC等SAP核心系统的编程语言,ABAP具有深厚的历史背景,其开发成本之大也是不可考量的。无论基于技术原因还是商业战略,SAP都不可能放弃ABAP语言而转用更为通用的语言作为核心系统的语言。事实上,SAP公司曾经试过放弃ABAP转向当时流行的语言和框架,但是失败了,最后还是老老实实地回归到了ABAP的发展和迭代之中。

  ( 二 )ABAP在后台业务商业逻辑开发中是重点,即便数据库平台升级为HANA、应用平台移到云端,或者前端开始部分使用更为轻量的SAP Fiori,在SAP ECC或者S/4 HANA平台上ABAP依然是应用平台核心开发语言。

  ( 三 )除了SAP自己发布的系统是基于ABAP代码的,现实中大量的客户定制化开发数量众多的客户的核心业务逻辑还需要大量的ABAP程序的支撑和维护,尤其在SAP的大型企业用户中,SAP的应用实施大多已经完成,而深人业务开发的ABAP的二次开发却数量巨大,并且难度越发艰深,基于SAP平台的ABAP语言在后台逻辑的定制开发上还是无法替代的。

分享到:

  • 微信或QQ扫一扫

更多文章

contact

有疑问?联系我们

请拨打官方热线

订阅我们的 新闻简讯,不错过任何更新信息


滚动至顶部
感谢您的支持!

感谢您一直以来的支持与信任,卓宇数科期待与您携手共创更加辉煌的未来!

感谢您的反馈!

您认为我们存在哪些不足和需要改进之处?
反馈内容
联系方式


订阅RSS地址

RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用



泛餐饮行业数字化白皮书

助力餐饮企业数字化转型,重塑餐企生长动力。