SAP 2019 TechEd Key Note解读:云时代下SAP从业人员如何做二次开发?-阿里云开发者社区

开发者社区> 努力滴码农> 正文

SAP 2019 TechEd Key Note解读:云时代下SAP从业人员如何做二次开发?

简介: 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的一些个人解读,并非逐字逐词的简单翻译。

image.png


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,保证了企业级应用所需的标准化和安全性。


image.png

Build efficiently & effectively

一旦SAP解决方案同SAP云平台建立绑定关系后,其对应实例就会被分配给云平台上的subaccount,而该产品支持的API和事件会发布到SAP云平台上。开发者们能够直接在云平台上浏览和消费这些API及事件。


以为SAP S/4HANA Cloud创建扩展为例,首先基于Open Service Broker API创建一个S/4HANA Cloud Extensibility Service的实例,然后在该subaccount space下的开发人员,即可将该实例绑定到自己创建的扩展应用去,并消费该实例暴露的服务。


image.png

开始搬砖之前,开发人员可以在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

image.pngimage.png

如果SAP解决方案的标准功能支持事件发布,则可以通过SAP Cloud Platform上一个叫做Enterprise Messaging的组件,将这些事件发布到SAP Cloud Platform Extension Factory上,这样SAP二次开发人员可以订阅这些事件,编写对应的事件响应函数。

image.png


一些具体的例子:


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

image.png


下图是对应的编码实现订阅S/4HANA Cloud系统服务订单创建事件并作出响应的例子:通过eventBus实例注册ServiceOrder.Created事件,在其触发后,调用技师分配函数进行响应。


image.png

在分配S/4HANA Cloud系统里的技师资源时,我们需要消费对应的API,通过SAP Cloud SDK可以轻易实现,不用从更底层的HTTP级别的函数调用开始编写。


SAP Cloud SDK对底层API进行了封装,写起来如同自然语言一样,可读性极佳:

image.png

基于Restful ABAP Programming(RAP)模型的扩展应用特色

采用这种模型开发的扩展应用能享受到SAP在云端ABAP领域提供的最新技术和特性,扩展本身同被扩展的解决方案核心代码彻底解除了耦合,因此又被称为Side-by-side扩展。这种模式的扩展能很好的实现所谓digital core code clean的目标。


由于RAP模型本身的语言还是ABAP,因此RAP在工作于ABAP技术栈的SAP产品扩展需求时显得更加如鱼得水。


image.png

基于Restful ABAP Programming模型的开发套路,Jerry之前的文章已经介绍过了:

image.png


(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演进的路线图:


image.png

比如图中标注的,在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传达给我们的这一精神吧,感谢阅读。


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

相关文章
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26793 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10084 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10883 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13890 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9161 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
11818 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4659 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7365 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
22404 0
2497
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载