在软件即服务(SaaS)应用的推动下,SAP Cloud优先的战略非常明显,随之带来的是SAP Clean core的战略,从经典的 ABAP 可扩展性模式转变为 SAP S/4HANA 现代可扩展性模式。那么Clean core战略到底是什么?新的扩展模式到底有哪几种?本文将一一讲述。
Clean core是一种扩展方法的概念,其基本目标是:扩展不应破坏升级,升级不应破坏扩展。主要的规则有:
- Fit-to-Standard:尽可能利用 SAP 标准流程。
- 从项目的第一天起就实行零修改政策。
- 充分发挥新扩展选项(In-App, Developer, or Side-by-Side)的潜力。
- 消除与标准代码和功能冗余的增强功能,以及标准代码的 "克隆"。
- 使用 SAP BTP 扩展功能进行应用程序开发和集成。
那么新的扩展模式到底有哪几种?我们先来看一张SAP官方提供的图
从上图中我们可以看出新的扩展方式有3种,分别是
- Key User (In-app)扩展
- On-stack Developer扩展
- Side-By-Side扩展
最后还有一种是我们熟悉的基于ABAP的Classic扩展方式,下面分别来说明一下每种扩展方式。
- Key User (In-app)扩展
这是SAP提供的典型的Low-code/no-code的扩展方式,主要是为了提供给业务专家(business experts)或者所谓的公民开发者(citizen developer)的扩展方式,可以使用Extensibility Fiori Apps, ABAP web editor等工具进行扩展。典型的使用案例有
- SAP Fiori界面进行屏幕布局,如移动/隐藏字段和字段组、更改标签等、自定义表单和模板。
- 自定义 CDS (Core Data Services)视图和分析应用程序。
- 自定义业务对象(business objects),只需最少的编码工作。
- 标准业务对象的自定义字段。然后,自定义字段可在整个应用堆栈中使用(从用户界面到数据库表)。
- 使用Cloud BADIs 自定义业务逻辑。
- 将自定义字段添加到流程组(例如,从销售报价单和销售订单到交付和发票),以提供一致的端到端扩展性。
- 复制并调整打印和电子邮件表单模板。
- On-stack Developer扩展
On-stack Developer扩展介于Key User (In-app)扩展和Side-By-Side扩展之间,使用受限的 ABAP 版本开发自定义 ABAP 代码以及调用 SAP S/4HANA 数据、事务代码或应用程序,可以使用Eclipse-based IDE (ABAP Development Tools)、SAP Business Application Studio (SAPUI5 Adaptation Project)等工具进行扩展。这里受限的ABAP版本是针对Cloud优化的版本,比如不能直接select标准表,只能使用CDS view。典型的使用案例有
- 基于 ABAP 的自定义app
- 使用 SQL 访问 SAP S/4HANA 数据的定制应用程序
- 在与 SAP 应用程序相同的逻辑工作单元 (LUW) 中运行的自定义扩展
- 用于side-by-side SAP BTP 应用程序的自定义远程 API 或服务
- SAPUI5 适配项目,用于扩展 SAP Fiori 应用程序
- Side-By-Side扩展
在SAP 业务技术平台 (SAP BTP) 上运行的扩展,这种模式可以无缝集成SAP S/4HANA 数据、事务或应用程序。可以使用专业工具Eclipse-based IDE (ABAP Development Tools)、SAP Business Application Studio开发,或者使用低代码工具SAP Build Apps、SAP Build Process Automation、SAP Build Work Zone进行开发。典型的使用案例有
- 为单独目标群体提供的应用
- 智能服务,比如AI
- 集成多个ERP和云服务的应用
- 非ABAP开发(JAVA,Node.js..)
下面这张图表示了各种扩展模式在那些SAP平台上适用。
SAP提供了从传统的基于ABAP扩展模式与现代扩展模式的对应方式,比如ABAP报表可以由Fiori APP或者SAP Analytics Cloud代替,但是我也有疑问是不是所有的传统扩展模式都可以被取代,特别是与业务流程紧密结合的各种增强。不过,还是让我们拭目以待吧。