翻译 | @SAP大话君
9月26日,SAP首席技术官Björn Goerke宣布了SAP PaaS平台的一项重要里程碑,ABAP计划将被作为开发和运行时环境提供在SAP Cloud Platform上。
SAP Cloud Platform是SAP的战略性PaaS平台,它被提供给SAP的客户和合作伙伴,用于建立,集成和扩展SAP业务解决方案和服务。当前,SAP Cloud Platform应用和扩展可以基于不同的开发环境,例如Java或者Node.js,但是SAP自己的开发环境ABAP,暂时还未被提供。
SAP Cloud Platform将提供ABAP开发环境。多年以来,ABAP一直是SAP on-premise解决方案的基础。通过ABAP in SAP Cloud Platform,ABAP开发者将能使用他们现有的ABAP知识,在云端来开发和运行ABAP应用。
ABAP in SAP Cloud Platform让ABAP开发者们步入云端。客户与合作伙伴将能为基于ABAP的产品(例如SAP S/4HANA)开发扩展应用,或者开发全新的云端应用。ABAP in SAP Cloud Platform也可以用于将基于ABAP的自开发代码或扩展应用转移到云端。ABAP in SAP Cloud Platform也能访问SAP Cloud Platform上所提供的各种服务,包括集成,文档管理,机器学习和物联网。
ABAP in SAP Cloud Platform是基于最新的ABAP Platform云端版本,它同时也被用于SAP S/4HANA Cloud。它使用SAP HANA的多租户数据库容器技术。软件栈包括与独立ABAP应用程序服务器类似的标准技术组件。它支持新的RESTful编程模式,包括SAP Fiori和Core Data Services (CDS)。SAP服务和API将通过全新的白名单方式被提供出来。
开发环境
ABAP in SAP Cloud Platform支持标准的,带ABAP Development Tools (ADT)的基于Eclipse的环境。不支持传统的ABAP Workbench(SE80)。支持到Git的集成,可以导入和管理开发构件,提供对开源项目的直接访问,和非常完善的版本管理控制。
ABAP in SAP Cloud Platform可以被认为是ABAP语言的子集,它为Cloud做了专门优化。它排除了一些与云端安全操作不兼容的statement,例如对文件系统的直接访问。此外,已被弃用的ABAP statement variant也被移除掉了。
为了确保对于底层软件栈安全和稳定的升级,只有白名单中的SAP API可以被使用。底层软件栈中其他SAP对象的使用将导致语法错误。
扩展场景
SAP有大量的客户和合作伙伴把他们的核心业务运行在基于ABAP的解决方案上,例如SAP S/4HANA和SAP Business Suite。因此,过去的几十年间,大量的ABAP代码被产生出来。
绝大多数的现有解决方案都是以on-premise的形式运行的。与此同时,SAP看到了越来越多的云端解决方案将会被采用,例如SAP S/4HANA Cloud,这需要定制的扩展选项。
这就是为何帮助客户将他们的数字核心转到云端成为SAP云端聚焦战略的核心部分。成功转换的重要因素就是SAP代码的可扩展性,客户或合作伙伴开发的代码要能被继续支持。为了更清晰地了解当前有哪些扩展方式,我们来快速回顾一下这些基本概念。
可用的扩展方式
云端方案意味着标准化,以及流程和操作的自动化。因此,云端解决方案的供应商会定时对软件进行更新,这是自动化的,并对所有用户生效。结果就是所有的云端客户都运行在同样的软件版本上,并且软件对于定制化扩展程序的使用要求是很严格的。扩展程序只能调用云端供应商预先定义好的,稳定的接口。
对于软件本身(例如SAP on-premise解决方案)的修改,在云端也是不可行的。考虑到这些前提条件,我们有以下两种扩展方式(请参考图1):
应用内扩展: 允许少量的,受控的在运行时环境内,对于原始应用的扩展。例如增加一个新字段,对事件或流程增加校验。
平行扩展: 允许使用远程通讯手段,开发一些新的,基于PaaS的,松耦合的应用或服务。
对于平行扩展,SAP提供了带Java和Node.js运行时的SAP Cloud Platform。SAP Cloud Platform可以被用于创建新的云端应用,或者将现有扩展转换到云端。
图1:可用的云端扩展方式(以SAP S/4HANA Cloud为例)
ABAP作为PaaS
对于SAP客户向云端转换,ABAP in SAP Cloud Platform提供了一种额外的方式。ABAP in SAP Cloud Platform聚焦于一类客户,他们希望使用ABAP知识,并保护之前在ABAP自定义扩展程序上的投资。
但是,并非百分百的on-premise ABAP自定义扩展都能被用于SAP Cloud Platform。
ABAP in SAP Cloud Platform通过远程API对业务系统进行访问,只允许白名单上的ABAP平台对象,并限制可用的技术组件。例如不支持SAP GUI访问,也对ABAP语言的范围有所限制。
因此,代码重用的程度取决于自定义代码的质量和本质功能。使用清晰的接口对SAP对象进行访问的松耦合附加程序可以获得很大程度的代码重用。那些与产品代码本身结合得很紧密的自定义代码则可能需要大幅度地改造。
图2:可用的云端扩展方式,包括ABAP in SAP Cloud Platform(以SAP S/4HANA Cloud为例)
ABAP in SAP Cloud Platform路线图
ABAP in SAP Cloud Platform计划在2018提供。2017年末会有客户开始使用,以便对早期使用者的反馈意见进行收集。当前的路线图从SAP S/4HANA Cloud的扩展场景开始,更多的使用场景将被陆续添加。
总结
ABAP in SAP Cloud Platform将ABAP作为新的开发和运行时环境,与其他现有的例如Java或者Node.js等环境一块提供出来。这带来很多新的应用场景,它首先针对的就是那些现在使用SAP,并要把业务转移到云端(SAP S/4HANA Cloud)的客户。
原文地址
https://blogs.sap.com/2017/09/26/overview-of-abap-in-sap-cloud-platform/