从 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 1511SAP NetWeaver Application Server ABAP 7.51 Innovation Package:for SAP S/4HANA 1610SAP 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 相比所新增添的功能和特性,敬请期待。
版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/a1a48282a147ad713eb1bfabd】。文章转载请联系作者。
评论 (3 条评论)