SAP ABAP SteammPunk 蒸汽朋克的最新进展 - 嵌入式蒸汽朋克-阿里云开发者社区

开发者社区> 开发者小助手-bz6> 正文

SAP ABAP SteammPunk 蒸汽朋克的最新进展 - 嵌入式蒸汽朋克

简介: SAP ABAP SteammPunk 蒸汽朋克的最新进展 - 嵌入式蒸汽朋克
+关注继续查看

Steampunk is going all-in


什么是 SAP ABAP Steampunk(蒸汽朋克)?


Steampunk(又名 SAP BTP ABAP 环境):提供一个 ABAP 平台,它不仅像今天一样是企业就绪(enterprise-readiness)的基准,而且也是云就绪的。 蒸汽朋克的主要属性是:

image.png

(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 上并行运行的解决方案。

image.pngimage.png

关于扩展机制,On-Premises 系统(左下角)没有太大变化。但在云中,必须只提供云就绪扩展机制,在升级后不会出现问题。对于所有松散耦合的 ABAP 场景,解决方案是 BTP 上的 Steampunk(右上角),在平台和上面的层之间有一个稳定的公共接口(绿色)。


并行扩展 ERP 核心非常适合许多用例。但并不适合所有人。考虑需要在正在扩展的应用程序附近运行的自定义代码。在同一上下文中,调用本地 API,例如,避免大量数据复制,或在同一逻辑工作单元(数据库 LUW)中运行。对于这些情况,S/4HANA Cloud 到目前为止仅提供关键用户可扩展性(上图左上角)。这虽然是一种强大的机制,允许字段扩展或自定义业务逻辑,但无法与开发人员级别的经典扩展可能性进行比较。在 S/4HANA Cloud 提供本地扩展样式当然不是一种选择,因为这种策略并不是云就绪,不是升级稳定的)。


这就是我们引入嵌入式蒸汽朋克的原因:


image.png

在内部,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 类级别上自由选择:保持经典的扩展方法或重构它。毋庸置疑,重构使核心逐步变得更干净,减少升级问题并为未来迁移到云做好准备。

image.png

Steampunk 开发环境在 BTP、S/4HANA Cloud 和 S/4HANA On-Prem 中完全相同。本地公共 S/4 业务接口(橙色)目前是使用云优先方法创建的,但也会随着时间的推移在本地 S/4 中增长。


在我们看来,蒸汽朋克和嵌入式蒸汽朋克使从本地到混合再到云的漫长过渡期变得更加容易。并且两者都完全支持清洁核心战略。


嵌入式 Steampunk 已经在 Sapphire 2021 上作为实验室预览版(lab preview ) 短暂宣布。我们从 S/4HANA Cloud 开始,目前正在通过早期采用者计划(仅限受邀者)收集第一批客户反馈,然后将其推广给所有客户。 请继续关注 SAP TechED 2021 的更多信息!


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
我为什么要放弃 RESTful,选择拥抱 GraphQL
REST作为一种现代网络应用非常流行的软件架构风格,自从Roy Fielding博士在2000年他的博士论文中提出来到现在已经有了20年的历史。它的简单易用性,可扩展性,伸缩性受到广大Web开发者的喜爱。
6 0
如何保障消息中间件 100% 消息投递成功?如何保证消息幂等性?
一、前言 我们小伙伴应该都听说够消息中间件MQ,如:RabbitMQ,RocketMQ,Kafka等。引入中间件的好处可以起到抗高并发,削峰,业务解耦的作用。
8 0
Google 开源的依赖注入库,比 Spring 更小更快!
Guice是Google开源的一个依赖注入类库,相比于Spring IoC来说更小更快。Elasticsearch大量使用了Guice,本文简单的介绍下Guice的基本概念和使用方式。
9 0
首长,Redis 性能优化十三条军规立好了,请过目~
Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻谨记优化铁则,才能使得Redis性能发挥到极致。 本文将会介绍十三条性能优化军规,开发过程中只要按照执行,性能必能质的飞跃。
12 0
听说 Spring AOP 有坑?那就来踩一踩
前言 前几日,有朋友分享了这样一个案例: 原来的项目一直都正常运行,突然
5 0
我为什么要放弃 RESTful,选择拥抱 GraphQL
REST作为一种现代网络应用非常流行的软件架构风格,自从Roy Fielding博士在2000年他的博士论文中提出来到现在已经有了20年的历史。它的简单易用性,可扩展性,伸缩性受到广大Web开发者的喜爱。
8 0
【保姆级教程】Spring Boot 单元测试
【保姆级教程】Spring Boot 单元测试 一、 单元测试的概念 概念: \1. 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。在Java中单元测试的最小单元是类。
7 0
一次非常有意思的 SQL 优化经历:从 30248.271s 到 0.001s
场景 我用的数据库是mysql5.6,下面简单的介绍下场景
7 0
1853
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载