识别并行扩展的需求
学习目标
识别并行扩展的需求
引言
你是某家正在使用 SAP S/4HANA Cloud 的公司的开发人员。你的公司需要以自定义业务逻辑和 UI 来扩展标准 SAP S/4HANA Cloud 解决方案。
你希望探索使用 SAP BTP 和 SAP S/4HANA Cloud 进行并行扩展的各种方案。当你在 SAP 系统中构建扩展时,尤其是在像 SAP S/4HANA Cloud 这样的云环境中,直接在应用服务器上开发和运行自定义业务逻辑的传统方式已不再可行。
从历史上看,SAP ERP 解决方案是在本地(on-premises)环境中通过直接向 ABAP 应用服务器添加自定义代码来扩展的。随着向云环境的转变,扩展 SAP 解决方案的能力和范式已经发生了变化。尽管如此,标准 SAP S/4HANA Cloud 系统仍然可以适配自定义业务需求。
定制标准系统有多种可能性,例如使用关键用户扩展(key-user extensibility)——比如向 SAP Fiori 用户界面(UI)添加自定义字段。然而,这仅能满足简单定制的需求。对于更复杂的需求,例如添加自定义业务逻辑,则需要采用并行扩展(side-by-side extensibility)方式。让我们更详细地探讨这一点。
并行扩展
如前所述,SAP BTP 是一个以业务为中心的基于云的开发平台。SAP BTP 提供了面向未来的云(原生)开发环境,统一了各 SAP 产品之间的开发体验,并在云中提供无缝体验。
三种应用运行时,即 SAP BTP, ABAP Runtime、SAP BTP, Cloud Foundry Runtime 和 SAP BTP, Kyma runtime,为 SAP BTP 上的 ABAP 开发人员和非 ABAP 开发人员提供了多种选择,以专业代码(pro code)方式开发和运行应用。同样,对于公民开发者(citizen developer),SAP BTP 提供了一套低代码/无代码(LCNC)产品,以完全低代码的方式构建企业级扩展。
SAP Build 由三个深度集成的产品组成:SAP Build Apps、SAP Build Process Automation 和 SAP Build Work Zone。这里值得一提的是,专业代码与低代码这两端可以结合起来,以混合方式构建扩展,即专业代码开发人员和公民开发者在所谓的"融合团队"(Fusion Teams)中协作构建扩展。

虽然仍然可以开发核心解决方案,但"保持核心干净"(keep the core clean)是一种经过验证的最佳实践——转而使用来自这些系统的应用程序接口(API),并将其集成到你的扩展应用中。这正是 SAP BTP 发挥作用的场景。
作为基于云的开发平台,SAP BTP 提供了广泛的以业务为中心的能力,用于扩展 SAP 环境内外的业务流程。SAP BTP 的基础层为开发人员提供了各种开发工具、服务和基础设施组件,以构建和运维安全、可扩展且可靠的云原生应用。
开发人员可以使用诸如 SAP Business Application Studio 或 SAP BTP, Kyma runtime 之类的开发工具、服务和基础设施组件。
请在以下视频中了解更多信息:
视频:本节含 SAP 官方视频(视频 ID
1_19pxnxj3),需在 learning.sap.com 在线观看。
SAP BTP 中的扩展选项
借助 SAP BTP 上的三种运行时,可以使用不同的扩展选项。对于基于 ABAP 的扩展,SAP BTP, ABAP Environment 是开发和运行应用的唯一选择。另一方面,构建非基于 ABAP 的扩展则允许你使用各种技术栈以及纯粹的云原生开发和部署场景。
诸如(但不限于)JavaScript (Node.js)、Java、TypeScript、Go、Python 等多种编程语言都可以用于在 SAP BTP 上构建自定义的企业级扩展。这些应用既可以在你选择的 IDE 中本地开发,也可以在 SAP BTP 上的 SAP Business Application Studio 中开发。部署可以到 SAP BTP, Cloud Foundry Runtime 或 SAP BTP, Kyma runtime。

在本学习之旅中,你只会学习非基于 ABAP 的扩展。更确切地说,是使用 Node.js (JavaScript) 和 Cloud Foundry 的 SAP Cloud Application Programming Model(CAP)。