Jerry 之前的文章 ABAP 真的会过期吗?聊聊 ABAP 的过来,当初和将来,带着大家简略回顾了 ABAP 这门编程语言的发展史和对其将来进行了瞻望。
之后我收到了一些读者的反馈,征询对于 ABAP Netweaver 和 ABAP Platform 这两个名词的区别和分割。本文就来说一说。
让咱们从两张图片开始本文的探讨。用 SAPGUI 登录零碎,抉择菜单 System 下的 Status 菜单项,能看到以后 SAP 零碎的产品版本号(Product Versions).
在一个 CRM On-Premises 零碎里,版本号如下:
- SAP CRM 7.0
- EHP3 FOR SAP CRM 7.0
在一个 S/4HANA On-Premises 零碎里,能看到下列三个产品版本号:
- S/4HANA ON PREMISE 2022
- ABAP PLATFORM 2022
- SAP S/4HANA FOUNDATION 2022
这个 ABAP Platform 是什么含意?Jerry 之前的文章 聊聊 C 语言和 ABAP 已经提到, SAP Kernel(内核) 是任何基于 ABAP 技术栈的 SAP 零碎的外围组件。随着 SAP R/3 于 1992 年正式公布,在过来将近 30 年里,SAP Kernel 曾经成为简直所有构建于 ABAP 技术栈之上的 SAP 产品根底平台,比方蕴含了 SAP CRM, SCM, SRM, PLM, ERP 的 SAP Business Suite 商务套件。
多年来,作为 SAP 产品的基础设施层,SAP Kernel 一直地进化。为了顺应时代倒退对企业管理软件一直提出的新需要,越来越多的性能被增加到 SAP Kernel 中。
2002 年,随着 SAP R/3 4.7 和 SAP Web Application Server 的退出,SAP Kernel 实现了第一次重大变动。咱们能够回顾一下 2002 年这个工夫节点。那正是互联网技术首次风起云涌,席卷寰球技术畛域的 .COM 时代。而 SAP 也趁势而为,通过引入 Internet Communication Manager (ICM) 和 Internet Transaction Server (ITS) 对 SAP 内核进行了扩大,使其可能治理 HTTP 连贯并提供对 XML、BSP 和 Java 的反对。
SAP NetWeaver 于 2004 年正式公布。作为一个通用技术平台,Netweaver 可能帮忙客户将来自各种渠道的数据和业务流程等企业运行元素集成到对立的 SAP 环境中。在过来的 16 年中,SAP NetWeaver 始终是基于 ABAP 技术栈的 SAP 应用程序的技术根底。
2008 年,SAP 公布了 SAP Business ByDesign,这是 SAP 开发的第一个 SaaS 产品,也是 Jerry 2007 年大学毕业退出 SAP 成都研究院之后开发过的第一个 SAP 产品。
因为 SAP R/3 Kernel 代码宏大而简单,不适宜间接使用到 SaaS 软件的开发畛域中,因而 SAP 在此基础上对其进行了另一次重大的革新,开发出了一个新版本的内核。这个内核革新我的项目被称为 NGAP,即 Next Generation ABAP Platform 的缩写。
SAP HANA 的诞生也是 SAP 产品史中一个里程碑式的事件。SAP HANA 于 2011 年正式公布。一年后,SAP Business Suite on SAP HANA 1.0 公布,SAP 利用首次可能运行在自家的 HANA 数据库之上,实现了历史性的双剑合璧。这个版本基于 SAP Netweaver 7.40 SP2,蕴含了针对 HANA 和 Fiori 的反对和翻新。
2012 年,Jerry 辞别了耕耘五年的 SAP Business ByDesign,退出了 SAP 成都研究院 CRM 开发团队。我所在的开发团队,为随后的 SAP CRM powered by SAP HANA 也做出了奉献。
SAP Kernel 的进化始终秉承 Innovation without disruption(无损式翻新) 的准则,即在引入新性能的同时,尽量放弃向后兼容性,从而确保客户既能利用内核新引入的技术个性,又能从企业理论登程,依照本人的节奏进行翻新。
由 SAP Netweaver 提供技术撑持的 SAP Business Suite 在企业管理软件畛域获得的巨大成功,是 SAP 内核无损式翻新准则完满实际的一个例子。该准则使 SAP Netweaver 成为运行简单业务软件的牢靠平台,为 SAP 客户采纳新技术进行翻新奠定了松软的根底。
须要强调的是,SAP NetWeaver 是一个产品系列汇合,除了 ABAP 和 Java 应用程序服务器之外,还蕴含其余组件,如 BI Content Extension,Advanced Adapter Engine(高级适配器引擎扩大), 以及由 Business Warehouse, Enterprise Portal 和 SAP Process Orchestration 组成的 Netweaver Hub.
作为残缺和独立产品进行公布的最初一个 SAP Netweaver 版本号是 SAP Netweaver 7.50.
2015 年,SAP S/4HANA 公布,从此进入了第四代 ERP 产品时代。SAP Netweaver 的组件之一,SAP Netweaver Application Server ABAP component,也进行了对应的更新,以反对从 R/3 到 S/4 这一大踏步的迈进:
SAP NetWeaver Application Server ABAP 7.50:for SAP S/4HANA 1511
SAP NetWeaver Application Server ABAP 7.51 Innovation Package:for SAP S/4HANA 1610
SAP NetWeaver Application Server ABAP 7.52:for SAP S/4HANA 1709
这三个 Netweaver ABAP 组件版本的更新,引入了针对 Fiori 利用开发的新编程模型,基于外围数据服务即 Core Data Service,并为未来诞生的 RAP(Restful ABAP Programming)编程模型奠定了松软的技术根底。
另外,从这三个更新的版本开始,其蕴含的 Software Component SAP_ABA 的版本号, 不再采取过来经典的如下图所示的纯数字命名法:
而是采纳数字与字母的组合来标识版本号,如下图所示:
从 SAP_ABA 750 到 SAP_ABA 75A, 蕴含了一些重要的更新,最为 ABAP 开发参谋们熟知的就是 MATNR 数据元素的长度变动,从 18 个字符扩大到了 40 个字符。
除此之外,这三个更新的版本,还进行了许多技术创新,对 SAP Kernel 的要害组件进行了现代化革新,例如新的 Enqueue Server (ENSA2),反对 HTTP/2 协定和其余外部更改等等。
探讨到这里,咱们能够纠正一个普遍存在的不太精确的说法:SAP S/4HANA 基于 SAP Netweaver.
更精确的说法应该是,SAP S/4HANA 1511,1610 和 1709,基于 SAP Netweaver 的组件之一,SAP Netweaver Application Server ABAP.
因为前文曾经提到,SAP Netweaver 还蕴含 Java Stack 和 BW,Portal,PO 等 SAP Netweaver Hub 组件,而这些组件并不是 SAP S/4HANA 产品的一部分。
至此,本文题目中的 ABAP Platform 终于要出场了。
SAP NetWeaver Application Server ABAP 7.50, 7.51 和 7.52,能够看作为 ABAP Platform 登上舞台之前的尾声。
从 S/4HANA 1809 开始,即上图红色分隔线以下,ABAP Platform 取代了之前的 SAP Netweaver Application Server ABAP,成为了 S/4HANA 的底层技术平台。
ABAP Platform 是由 ABAP Netweaver 进化而来,并且是后者的替代者。正如本文结尾的截图所提到的,ABAP Platform 并不会像之前的 Netweaver 那样独自公布,而是作为 SAP S/4HANA 的一部分被客户应用。
要点总结
(1) SAP Netweaver 不仅是一个技术平台,而且是一个产品系列家族,蕴含 Netweaver ABAP/Java Application Server Component,Business Warehouse, Enterprise Portal 和 SAP Process Orchestration 等等。
(2) SAP Business Suite 基于 SAP Netweaver 的 ABAP Application Server 组件。
(3) SAP S/4HANA 1511,1610 和 1709 这三个版本,别离基于 SAP Netweaver ABAP Application Server 组件的 7.50,7.51,7.52 这三个版本。
(4) 从 SAP S/4HANA 1809 开始,底层的技术平台换成了 ABAP Platform. 后者作为 S/4HANA 的 Foundary 层,不会作为一个独自的产品公布。
后续 Jerry 将持续介绍 ABAP Platform 同 SAP Netweaver 相比所新削减的性能和个性,敬请期待。
本文图 4,7,11 和 12 来自 SAP 社区博客:ABAP Platform – Part 1 – Evolution from SAP Netweaver,作者是我的共事 Tena Juan.
Jerry 的 ABAP 专题
- Jerry 的 ABAP, Java 和 JavaScript 乱炖
- ABAP 开发人员将来应该学些什么
- Jerry 2017 年的五一小长假:8 种经典排序算法的 ABAP 实现
- Jerry 的 ABAP 原创技术文章合集
- 300 行 ABAP 代码实现一个最简略的区块链原型
- 应用 Java+SAP 云平台 +SAP Cloud Connector 调用 ABAP On-Premise 零碎里的函数
- 在 SAP 云平台的 CloudFoundry 环境下生产 ABAP On-Premise OData 服务
- ABAP vs Java,蛙泳 vs 自由泳
- 聊聊 C 语言和 ABAP
- 入手应用 ABAP Channel 开发一些小工具,晋升日常工作效率
- 我用 ABAP 做过的那些无聊的事件
- 不喜爱 SAP GUI?那试试用 Eclipse 进行 ABAP 开发吧
- 应用 Visual Studio Code 编写和激活 ABAP 代码
- 你的 ABAP 程序给佛祖开过光么?来试试 Jerry 这个小技巧
- 在 SAP 云平台 ABAP 编程环境上编写第一段 ABAP 程序
- SAP 官网公布的 ABAP 编程标准
- ABAP Code Inspector 那些暗藏的性能,您都晓得吗?
- 还在用 ABAP 进行 SAP 产品的二次开发?来理解下这种全新的二次开发理念吧
- ABAP Netweaver 体内的那些寄生式编程语言
- 从 SAP 社区上的一篇博客开始,聊聊 SAP 产品命名背地的那份情怀
- 云端的 ABAP Restful 服务开发
- 如何在 SAP 云平台 ABAP 编程环境里把 CDS view 裸露成 OData 服务
- 应用 abapGit 在 ABAP On-Premises 零碎和 SAP 云平台 ABAP 环境之间进行代码传输
- 30 分钟用 Restful ABAP Programming 模型开发一个反对增删改查的 Fiori 利用
- Jerry 带您理解 Restful ABAP Programming 模型系列之二:Action 和 Validation 的实现
- Jerry 带您理解 Restful ABAP Programming 模型系列之三:云端 ABAP 利用调试
- SAP 云平台上的 ABAP 编程环境里如何生产第三方服务
- ABAP 开发者上云的时候到了 – 当初大家能够收费应用 SAP 云平台 ABAP 环境的试用版了
- 学而不思则罔 – SAP 云平台 ABAP 编程环境的由来和实用场景
- SAP 云平台里的三叉戟利用
- 如何基于 Restful ABAP Programming 模型开发并部署一个反对增删改查的 Fiori 利用
- SAP 2019 TechEd Key Note 解读:云时代下 SAP 从业人员如何做二次开发?
- 有哪些 ABAP 关键字和语法,到了 ABAP 云环境上就没方法用了?
- ABAP 开发环境终于反对以驼峰命名法主动格式化 ABAP 变量名了
- 利用 ABAP 740 的新关键字 REDUCE 实现一个理论工作工作
- 一段让人瑟瑟发抖的 ABAP 代码
- 昨日万圣节 ABAP 怪兽级代码谜团,颁布答案啦
- 介绍一种在 ABAP 内核态进行内表高效拷贝的办法
- 应用 SAP Cloud Application Programming 模型开发 OData 的一个理论例子
- 当 ABAP 遇见普罗米修斯
- 应用 ABAP 绘制可伸缩矢量图
- ABAP 开发环境语法高亮的那些事儿
- SAP 谬误音讯调试之七种武器:让所有的谬误音讯都能被定位
- 应用 ABAP 操作 Excel 的几种办法
- SAP GUI 里的收藏夹事务码管理工具
- SAP GUI 和 Windows 注册表
- 有了 Debug 权限就能干坏事?小心了,你的一举一动尽在系统监控中
- ABAP CCDEF, CCIMP, CCMAC, CCAU, CMXXX 这些东东是什么鬼
- 实现 ABAP 条件断点的三种形式
- 应用 SAT 跟踪监控从浏览器关上的 SAP 利用的性能和调用栈
- 一个 13 年 ABAP 老兵的倡议:理解这些基础知识,对 ABAP 开发有百利而无一害
- SAP ABAP Netweaver 容器化, 不可能实现的工作吗?
- SAP 产品加强技术回顾
- SAP API 开发方法大全
- 浅谈 Java 和 SAP ABAP 的动态代理和动静代理,以及 ABAP 面向切面编程的尝试
- SAP ABAP 应用服务器的 HTTP 响应状态码(Status Code)
- SAP ABAP 里存在 Java List 这种汇合工具类么?CL_OBJECT_COLLECTION 理解一下
- ABAP 面试题系列:写一组会呈现死锁 (Deadlock) 的 ABAP 程序
- SAP ABAP Netweaver 服务器的规范登录形式解说
- SAP ABAP 关键字语法图和 ABAP 代码主动生成工具 Code Composer
- SAP ABAP SM50 的另类用处 – ABAP 工作过程对数据库表读取操作的检测
- 对于 SAP ABAP 字符变量和字符串变量字符个数的一个知识点,和一个血案
- SAP ABAP 一组关键字 IS BOUND, IS NOT INITIAL 和 IS ASSIGNED 的用法辨析
- SAP ABAP 和 Java 里的弱援用 (WeakReference) 和软援用(SoftReference)
- SAP AMDP 介绍 – ABAP 托管的 HANA 数据库过程
- 给你的 ABAP 对象打上标签(Tag)
- 历史上的明天:编程语言中 null 援用的十亿美元谬误
- ABAP Development Tool 代码模板和其余一些实用技巧汇总
- SAP ABAP Development Tool 进步开发效率的十个小技巧
- 如何在 SAP BTP 平台 ABAP 编程环境里生产基于 SOAP 的 Web Service
- ABAP 真的会过期吗?聊聊 ABAP 的过来,当初和将来
- 基于 abapGit 和 abaplint 的 ABAP 继续集成的一个例子
- 不应用任何框架,手写纯 JavaScript 实现上传本地文件到 ABAP 服务器
- 应用 JavaScript 上传 PDF 和 Excel 等二进制文件到 ABAP 服务器并进行解析
更多 Jerry 的原创文章,尽在:” 汪子熙 ”: