刚刚过去的在巴塞罗那举行的2019 SAP TechEd,SAP照例向全球广大的SAP生态圈从业者们传达了一些重要的信息,其中一条为:Building Extensions for the Intelligent Enterprise on SAP Cloud Platform,中文即“在SAP云平台上为智慧企业创建扩展应用”。
本文是Jerry对SAP社区这篇博客Making development of extensions easier – SAP Cloud Platform Extension Factory的一些个人解读,并非逐字逐词的简单翻译。
SAP的一个宏伟目标:将来SAP所有产品(不管是On-Premises还是云解决方案)的二次开发平台,统一为SAP云平台。而现状是,SAP S/4HANA Cloud和SAP C/4HANA已经可以通过SAP云平台扩展了,而上图左边的一些其他产品,例如同为云解决方案的SAP Concur,以及本地部署的S/4HANA On-Premises和SAP ECC,如何用SAP云平台对这些产品做扩展,是SAP将来努力的方向。
目前SAP云平台上已经有了下列这些组件,SAP Cloud Platform的作用就是将它们组合起来(Orchestration),像Kubernetes编排pod那样,让其发挥出1+1>2的作用:
- SAP Cloud Platform Extension Factory
- SAP Cloud Application Programming Model (CAP)
- ABAP RESTful Programming Model (RAP)
- SAP Cloud Platform Enterprise Messaging
- SAP Cloud SDK
- SAP Web IDE
- SAP Cloud Platform API Management
- SAP API Business Hub
- SAP Cloud Platform Workflow
Connect securely & quickly
SAP Cloud Platform Extension Factory是SAP推荐的"智慧企业的专属云原生扩展框架",在开源项目Kyma的基础上,借助SAP云平台提供的Cloud Connector和Connectivity Service,保证了企业级应用所需的标准化和安全性。
Build efficiently & effectively
一旦SAP解决方案同SAP云平台建立绑定关系后,其对应实例就会被分配给云平台上的subaccount,而该产品支持的API和事件会发布到SAP云平台上。开发者们能够直接在云平台上浏览和消费这些API及事件。
以为SAP S/4HANA Cloud创建扩展为例,首先基于Open Service Broker API创建一个S/4HANA Cloud Extensibility Service的实例,然后在该subaccount space下的开发人员,即可将该实例绑定到自己创建的扩展应用去,并消费该实例暴露的服务。
开始搬砖之前,开发人员可以在SAP推荐的两种编程模型里进行选择,到底是用SAP Cloud Application Programming Model (CAP) ,还是ABAP RESTful Application Programming Model (RAP).
先看看这两种编程模型各自的特色。
基于CAP模型的扩展应用特色
(1) 天生支持多租户(native multi-tenant enablement)
(2) 同一个SAP Cloud Platform账号创建的基于CAP模型的应用能共享API和事件
(3) 终端用户能够很容易的使用key user tool等工具对此类应用进行字段级别的扩展 - Field Extensibility
如果SAP解决方案的标准功能支持事件发布,则可以通过SAP Cloud Platform上一个叫做Enterprise Messaging的组件,将这些事件发布到SAP Cloud Platform Extension Factory上,这样SAP二次开发人员可以订阅这些事件,编写对应的事件响应函数。
一些具体的例子:
- Simplified extensions for the Intelligent Enterprise with SAP Cloud Platform Extension Factory and Enterprise Messaging
- New service plan and UI for SAP Cloud Platform Enterprise Messaging
下图是对应的编码实现订阅S/4HANA Cloud系统服务订单创建事件并作出响应的例子:通过eventBus实例注册ServiceOrder.Created事件,在其触发后,调用技师分配函数进行响应。
在分配S/4HANA Cloud系统里的技师资源时,我们需要消费对应的API,通过SAP Cloud SDK可以轻易实现,不用从更底层的HTTP级别的函数调用开始编写。
SAP Cloud SDK对底层API进行了封装,写起来如同自然语言一样,可读性极佳:
基于Restful ABAP Programming(RAP)模型的扩展应用特色
采用这种模型开发的扩展应用能享受到SAP在云端ABAP领域提供的最新技术和特性,扩展本身同被扩展的解决方案核心代码彻底解除了耦合,因此又被称为Side-by-side扩展。这种模式的扩展能很好的实现所谓digital core code clean的目标。
由于RAP模型本身的语言还是ABAP,因此RAP在工作于ABAP技术栈的SAP产品扩展需求时显得更加如鱼得水。
基于Restful ABAP Programming模型的开发套路,Jerry之前的文章已经介绍过了:
(1) 根据实际业务创建基于CDS view的模型。
(2) 给模型添加transactional behavior,在validation,determination和actions里编写业务逻辑。
(3) 创建business service,将前面创建并实现的模型通过OData暴露出来。
(4) 创建Fiori Elements应用,消费第三步创建的business service,将业务数据通过Fiori UI展示出来。
总结一下,云时代SAP从业人员进行二次开发的工具集:
- SAP Cloud Platform, Application runtime
- SAP Cloud Platform, ABAP environment
- SAP Cloud Platform Enterprise Messaging
- SAP Web IDE
- SAP Cloud Platform Connectivity (includes Cloud Connector for on-premise connectivity)
- SAP Cloud SDK
- SAP Cloud Platform API Management
- SAP API Business Hub
SAP官网上给出的SAP Cloud Platform Extension Factory演进的路线图:
比如图中标注的,在2019年第四季度,SAP Cloud Platform Extension Factory会添加对SAP S/4HANA On-Premises的支持。当然,路线图中标注了一条:
"This is the current state of planning and may be changed by SAP at any time without notice".
让我们在以后的日常工作中,好好消化SAP通过TechEd传达给我们的这一精神吧,感谢阅读。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
DAT160-使用SAP HANA进行云原生开发描述该存储库包含SAP TechEd 2020会议的资料,称为DAT160-SAP HANA的云原生开发。概述了解结合使用SAP HANA Cloud和其他云本机框架和工具进行开发的基础知识。 在本次会议期间,...
6. SAP产品和技术发展:SAP公司总裁Shai Agassi在2006年的TechEd会议上提到,SAP不会在2010年之前发布主要的新版本,但在那之前会定期发布增强包,这表明SAP致力于持续改进其产品。 7. SAP安装客户群的现状:据估计...
SAP TechEd 2012 Shanghai
SAP TechEd 2020开发人员主题演讲 内容概述这是包含所有源(代码,配置等)的存储库,由SAP Developer Advocates团队在SAP TechEd 2020上针对Developer Keynote(DK100)组合在一起。 :fast-forward_button: 如果您...
该存储库包含SAP TechEd 2020会议的材料DEV164-使用SAPUI5开发应用程序。 概述 在本节中,您将学习有关使用SAPUI5开发Web应用程序的信息。 我们将使用SAP Business Application Studio作为开发环境,并构建一个小型...
在开发SAP Fiori应用程序的过程中,提升工作效率是每个开发者关注的重点。SAP Fiori作为SAP公司的现代化用户体验设计框架,提供了丰富的工具和技术来优化开发流程。以下是一些关键的知识点,可以帮助你更高效地开发...
DEV166-使用SAP Extension Suite扩展SAP S / 4HANA描述该存储库包含SAP TechEd 2020会议的资料,称为DEV166-使用SAP Extension Suite扩展SAP S / 4HANA。概述本次会议向与会者介绍了一个端对端流程,以使用SAP ...
在"ERP信息化专业资料:SAP专业学习资料02_TechED02_OLAPFeatures.ppt"中,主要探讨了SAP BW 3.0版本的OLAP(Online Analytical Processing)分析特性。以下是这些特性的详细说明: 1. **预计算值集**:预计算值集是...
IIS360-使用OData V4简化SAP Fiori Apps的开发描述该存储库包含SAP TechEd 2020会议的材料IIS360-使用OData V4简化SAP Fiori Apps的开发。概述本次会议向与会者介绍如何为OData V4应用程序创建SAP Fiori元素楼层平面...
TechED微软云是微软技术教育大会(TechEd)的一个组成部分,其中涉及的微软云相关技术教育与培训资料。TechED是微软公司举办的年度技术大会,旨在为IT专业人员提供最新的技术趋势、产品信息、解决方案和实践案例。 ...
该存储库包含SAP TechEd 2020会议的资料,称为DEV161-使用SAP Business Technology Platform上的自定义UI扩展SAP S / 4HANA 。 概述 本次会议向与会者介绍了SAP Fiori自由式应用程序的端到端开发流程。 在公司的IT...
"Teched2011开发课程压缩包"是微软在北京举办的2011年度技术大会的开发者课程集合,其中包含了丰富的技术讲座和研讨会的PPT资料。这些文档旨在分享最新的开发技术和工具,帮助参会者提升专业技能,了解微软在开发...
OpenUI5-SAP TechEd 2015巴塞罗那提案 请参阅 ,它是对的答复。 可以在找到要交谈的样本/演示。 演讲幻灯片可在找到。 准备:米切尔·巴里(Mitchell Barry),皮德·赖斯(Peder Rice)
SAP BO(BusinessObjects)是SAP公司的一款企业级商务智能(Business Intelligence, BI)工具,用于报告、分析和数据共享。本文档主要围绕SAP BO在BI环境中的最佳实践进行介绍,同时也涉及SAP BO在Web Intelligence...
DEV267-持续交付的自动化SAP Fiori Apps测试描述该存储库包含SAP TechEd 2020大会上称为DEV267的材料-持续交付的自动化SAP Fiori Apps测试概述SAPUI5作为一种UI技术,提供了构建SAP Fiori应用程序所需的所有资源。...
TechEd2012 部分资料 对于了解微软有帮助
DEV163-使用SAP Workflow Management从头开始构建工作流描述该存储库包含SAP TechEd 2020会话的资料,称为DEV163-使用SAP Workflow Management从头开始构建工作流。概述SAP Workflow Management将工作流,业务规则和...
DEV165-与SAP Cloud Platform Integration Suite的非SAP集成 描述 在本课程中,您将学习如何使用SAP Cloud Platform Integration Suite实施涉及非SAP应用程序的集成方案。 您将实现一个从退休到退休的方案,一个涉及...