SAP ABAP SteamPunk 蒸汽朋克的最新进展 - 嵌入式蒸汽朋克
什么是 SAP ABAP Steampunk(蒸汽朋克)?
Steampunk(又名 SAP BTP ABAP 环境):提供一个 ABAP 平台,它不仅像今天一样是企业就绪(enterprise-readiness)的基准,而且也是云就绪的。 蒸汽朋克的主要属性是:
(1) 平台和顶部解决方案之间的专用稳定公共接口,确保升级无故障
(2) 用于云开发的企业就绪环境,包括新的 ABAP 语言版本和 ABAP RESTful 应用程序编程模型 (RAP)
(3) 具有 BTP 集成、标准化系统更新和配置以及自动化操作的云就绪运行时环境
(4) 我们当前客户群的云过渡路径,仔细平衡上述两种风险
2020 年之后,ABAP 蒸汽朋克已经支持多租户。这意味着我们的合作伙伴可以显着降低成本,他们现在可以在同一个 Steampunk 系统中为多个客户提供 SaaS 解决方案。
对于 ABAP 内部人员:Steampunk 多租户架构基于 Client 字段,因此提供了消费者(租户)之间的完全隔离,每个额外消费者的成本最低。
除此之外,蒸汽朋克带来了如此多的增强:针对云优化的改进型 ABAP 语言、对开发人员的更有效支持、为管理员提供更好的工具、用于 ERP 自定义代码的迁移工具、重用服务或为合作伙伴提供的可扩展性只是其中的一小部分。
同时,SAP 蒸汽朋克团队正在致力于通过使用 Kubernetes 弹性扩展应用程序服务器、零停机更新、减少最小 HANA 内存大小(30GB 而不是 64GB)、高可用性和灾难恢复、更多数据中心和超大规模器来节省成本,仅举几例。
无论用例如何,我们都为所有具有 ABAP 意识的客户和合作伙伴提供强大的云产品。今天,SAP BTP 上的 Steampunk 支持以下场景:
(1) 客户使用 side-by-side 的方式,扩展他们的 ERP 应用程序(清洁核心计划,即 clean core initiative)
(2) 向其客户提供 SaaS 应用程序的合作伙伴
(3) 为 SAP 价目表开发 SAP 解决方案扩展的合作伙伴(例如 Vistex)
(4) SAP 产品(例如公用事业市场通讯 - Market Communications for Utilities,或 SAP Master Data Governance, Cloud Edition)
(5) SAP 自己的内部 ERP 扩展
什么是嵌入式 ABAP 蒸汽朋克 - Embedded SteamPunk?
Steampunk 是松散耦合的并行扩展或提供用 ABAP 编写的 SaaS 解决方案的合作伙伴的绝佳选择。这有点类似于在 NetWeaver 上并行运行的解决方案。
在 On-Premises 环境中,客户可以通过修改 SAP 软件或编写可以使用任何 SAP 对象(上图中红色)的自定义代码来调整 SAP 软件。 没有专用的稳定和公共接口,这正是恼人的升级问题的原因。 使用 NetWeaver Standalone,至少可以编写生命周期与 ERP 核心分离的松散耦合扩展。
今天的情况看起来像这样(至少从 ABAP 的角度来看,为了简单起见,我将省略我们的 BTP Java 和 Node.js 领域)。
关于扩展机制,On-Premises 系统(左下角)没有太大变化。但在云中,必须只提供云就绪扩展机制,在升级后不会出现问题。对于所有松散耦合的 ABAP 场景,解决方案是 BTP 上的 Steampunk(右上角),在平台和上面的层之间有一个稳定的公共接口(绿色)。
并行扩展 ERP 核心非常适合许多用例。但并不适合所有人。考虑需要在正在扩展的应用程序附近运行的自定义代码。在同一上下文中,调用本地 API,例如,避免大量数据复制,或在同一逻辑工作单元(数据库 LUW)中运行。对于这些情况,S/4HANA Cloud 到目前为止仅提供关键用户可扩展性(上图左上角)。这虽然是一种强大的机制,允许字段扩展或自定义业务逻辑,但无法与开发人员级别的经典扩展可能性进行比较。在 S/4HANA Cloud 提供本地扩展样式当然不是一种选择,因为这种策略并不是云就绪,不是升级稳定的)。
这就是我们引入嵌入式蒸汽朋克的原因:
在内部,S/4HANA Cloud 和 Steampunk 无论如何都共享相同的 ABAP 平台代码行(标记为蓝色),而 Steampunk 是一种创新的领跑者。 因此,将 Steampunk 开发模型直接嵌入 S/4HANA Cloud 堆栈是合乎逻辑的下一步。 使用嵌入式蒸汽朋克开发的自定义扩展现在具有与蒸汽朋克云就绪和升级稳定相同的属性:
仅使用稳定的公共接口
无需修改 SAP 代码
ABAP 语言和其他技术的限制使用
限制使用系统功能
使用 RAP 进行高效开发
使用 ADT(ABAP 开发工具)使用嵌入式 Steampunk 开发扩展感觉就像在 BTP 上使用 Steampunk 开发一样。 还有一个重要的额外好处:嵌入式 Steampunk 扩展不仅可以调用更具技术性的 ABAP 平台接口(绿色),还可以调用包含业务功能(例如,CDS 视图,如 I_Product、 替换对表 MARA 或 RAP 外观的直接访问以创建采购订单)。 在 S/4HANA Cloud 中,自定义代码本身要么是自己的应用程序或服务,要么是使用众所周知的 BADI 技术通过公共扩展点实现的。
如果您是一名 ABAP 开发人员,并且愿意熟悉 RAP、ADT 而非 SE80,或者是干净的 API 而不是自由式修改,那么嵌入式 Steampunk 会让您感到宾至如归。 您可以使用您已经知道的所有工具和流程。 这些都是 SAP 数以千万计的开发人员每天使用的相同工具和流程。
Embedded Steampunk for S/4HANA on-prem
S/4HANA On-Prem 仍然允许经典扩展,缩短了从经典 ERP 世界的迁移路径,但留下了升级问题。借助本地 S/4HANA 中的嵌入式 Steampunk(下方左下角),我们希望支持将这些系统转换为更清洁的核心,并在 SAP 和扩展之间建立稳定的公共接口。当然,由于大量经典的自定义代码和缺少公共 SAP API 或扩展点,我们不能在一夜之间强制执行这样的举措。
这就是为什么本地 ABAP 自定义代码现在可以设置一个标志,告诉 ABAP 编译器是允许经典代码还是强制执行严格的 Steampunk 检查。
因此,本地 S/4 客户可以在 ABAP 类级别上自由选择:保持经典的扩展方法或重构它。毋庸置疑,重构使核心逐步变得更干净,减少升级问题并为未来迁移到云做好准备。
Steampunk 开发环境在 BTP、S/4HANA Cloud 和 S/4HANA On-Prem 中完全相同。本地公共 S/4 业务接口(橙色)目前是使用云优先方法创建的,但也会随着时间的推移在本地 S/4 中增长。
在笔者看来,蒸汽朋克和嵌入式蒸汽朋克使从本地到混合再到云的漫长过渡期变得更加容易。并且两者都完全支持清洁核心战略。
版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/bdbacda34911d97e7afff2cfe】。文章转载请联系作者。
评论