SAP 2019 TechEd Key Note解读:云时代下SAP从业人员如何做二次开发?
刚刚过去的在巴塞罗那举行的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二次开发人员可以订阅这些事件,编写对应的事件响应函数。
一些具体的例子:
下图是对应的编码实现订阅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的原创文章,请关注公众号"汪子熙":
SAP 2019 TechEd Key Note解读:云时代下SAP从业人员如何做二次开发?的更多相关文章
- 如何将同一云服务下的虚拟机从经典部署模型迁移到 Azure Resource Manager
适用场景 用户希望将特定云服务下的所有虚拟机从经典部署模型(以下简称:ASM)迁移到 Azure Resource Manager(以下简称:ARM). Note 如果云服务下使用 VNET 也希望将 ...
- 一些SAP Partners能够通过二次开发实现打通C/4HANA和S/4HANA的方法介绍
有好几位朋友在公众号后台给我留言询问SAP C/4HANA和S/4HANA集成的方案. 尽管我给这些朋友推送了一个方案:打通C/4HANA和S/4HANA的一个原型开发:智能服务创新案例,然而我得到的 ...
- CSDN专访:大数据时代下的商业存储
原文地址:http://www.csdn.net/article/2014-06-03/2820044-cloud-emc-hadoop 摘要:EMC公司作为全球信息存储及管理产品方面的领先公司,不久 ...
- CSDN专訪:大数据时代下的商业存储
原文地址:http://www.csdn.net/article/2014-06-03/2820044-cloud-emc-hadoop 摘要:EMC公司作为全球信息存储及管理产品方面的率先公司,不久 ...
- SAP CX Upscale Commerce : SAP全新推出的电商云平台
大家好,我是Andy Chen,是SAP成都研究院年轻的SAP CX Upscale Commerce (后面将会以Upscale简称)开发团队的一名产品经理.CX的全称是Customer Exper ...
- K2 BPM_K2受邀出席SAP研讨会:共话“智能+”时代下的赋能与转型_全业务流程管理专家
3月5日,第十三届全国人大二次会议在北京召开.政府工作报告首次出现“智能+”,并明确指出2019年,要打造工业互联网平台,拓展“智能+”,为制造业转型升级赋能.从政府工作报告中不难看出,“智能+” ...
- 云时代基础设置自动化管理利器: Chef
云时代的到来势不可挡.尤其作为程序员,我们每天或多或少的直接或间接的使用者各种云服务.云平台有很多种,如云软件(SaaS, Software as a service).云平台(PaaS, Platf ...
- 西安活动 | 4月20日「拥抱开源,又见.NET :云时代 • 新契机」
云计算日渐兴起,成为提升企业效率和生产力的最终解决方案,而云时代也为软件开发模式带来了翻天覆地的变化.可以说 .NET Core就是这个时代催生的产物.自2016年 .NET Core 1.0 发布以 ...
- KubeCon 2019 北美会议完美落幕 | 云原生生态周报 Vol. 29
作者 | 陈俊.张晓宇.徐迪 业界要闻 KubeCon 2019 北美会议召开 业界最隆重的盛会 KubeCon+CloudNativeCon 今年在圣地亚哥举办,超过 12000 名参会者以及 10 ...
随机推荐
- MacOS安装rJava
rJava出了名的难装,一大堆问题. 核心的问题: 1. java版本问题,最好用1.8版本的java 2. 编译器的问题 3. 相关头文件header的问题 之前几次装过,但都放弃了,这次花了一下午 ...
- 数据分析入门——pandas数据处理
1,处理重复数据 使用duplicated检测重复的行,返回一个series,如果不是第一次出现,也就是有重复行的时候,则为True: 对应的,可以使用drop_duplicates来删除重复的行: ...
- Exsi6.6主机网络不通解决办法
Exsi虚拟机网络偶尔不通,防火墙性能不足 解决办法,断开网络连接再重连
- SecureCRT字体、界面优化
SecureCRT字体.界面优化 本文是secureCRT的第三篇博文,也是目前secureCRT优化的最终篇.首次使用该软件时候.应该会设置字体和编码,接下来,将演示如何设置. 1. 字体.编码设置 ...
- Qt qml调试,qml性能分析和优化工具
QML语言为qt推出的用于界面编程的语言. 1)如何在qt creator中进行调试qml: 以Qt Creator 4.6.2为例: 在qt creator的debug模式下,可以直接在qml中打断 ...
- mysql 按照计算值排序
SELECT title,browse_num/exposure_num as click_rate FROM `tf_news` ORDER BY browse_num/exposure_num d ...
- react-native-typescript-项目环境搭建
1.yarn global add create-react-native-app //全局安装 2.create-react-native-app 项目名称 3.yarn add typescrip ...
- Java开发笔记(一百三十二)Swing的表格
前面介绍了程序界面上一些简单控件的组合排列,它们用来表达相互之间联系较弱的信息倒还凑合,要是用来表达关联性较强的聚合信息就力不从心了.倘若只是简单信息的罗列,例如商品名称列表.新闻标题列表.学生姓名列 ...
- 经典例题(Python)
经典例题 if嵌套 1.用户输入账号2.用户输入密码3.判断用户的账号是不是alex4.如果账号是alex在继续判断密码是不是alexdsb5.账号和密码都正确提示用户alex就是一个dsb6.如果账 ...
- 使用ImagesPipeline时候报错为:ModuleNotFoundError: No module named 'scrapy.contrib'
刚开始我是这样写的: 报错为: 哈哈,经过查阅资料,其实他是存在的,接下来修改如下: 经过运行结果如下: 问题解决,哈哈哈,搞定!!!!!!!!!!!!