学而不思则罔 - SAP云平台ABAP编程环境的由来和适用场景

最近Jerry写了一系列关于SAP云平台ABAP编程环境的技术文章,这些文章都是围绕着在云上的ABAP编程环境的具体知识点来分享,好比要完成一个具体的开发需求,所须要的编程步骤。这些文章陆续收到一些读者朋友的留言,咨询各类各样的问题,我才意识到Jerry缺乏一篇对SAP Cloud Platform ABAP编程环境整体的介绍文章,好比SAP为何要发布这款云平台上的编程环境,它的使用场景,和S/4HANA Cloud的关系是什么等等。node

今天就把这篇迟来的文章补上。编程

clipboard1,1

SAP Cloud Platform发布后很长一段时间,在SAP各大技术社区里,能感受到ABAP从业者们心里一丝隐隐的失落:尽管SAP和其余IT公司一道,大步迈开了向云端转型的步伐,在SAP云平台上经过BYOL(Bring Your Own Language)的架构,实现了对业界流行编程语言的支持,这使得拥有Java,nodejs,PHP,Python,Ruby,Go等编程技能的开发人员们,也能加入SAP生态圈这个你们庭。浏览器

clipboard2,2
clipboard3,3

然而,这些编程语言的集合里,居然没有SAP的主打语言ABAP?It's embarrassing...服务器

clipboard4,4

不过ABAP从业者们“被云时代抛弃”的这份尴尬,随着SAP云平台 ABAP编程环境的发布一扫而空。截至您看到Jerry这篇文章为止,SAP Cloud Platform编程环境和运行时,已经出现了ABAP的身影:架构

clipboard5,5

ABAP加入SAP Cloud Platform编程环境的你们庭,好处是显而易见的:app

clipboard6,6

(1) 广大的ABAP从业者们终于上车了,你们之前在Netweaver On-Premises里的ABAP编程技能能够继续在云上发光发热——尽管SAP云平台上的ABAP编程环境里出现了许多新的关键字,新的编程模型,然而ABAP毕竟仍是ABAP,这些新知识对于ABAP从业者来讲,学习和掌握的速度比非ABAP编程人员要快得多。
(2) 为基于ABAP技术栈的SAP产品的扩展,提供了一种新的开发方式。这一点稍后会展开细说。
(3) 为之前大量存在于ABAP On-Premises环境的二次开发代码提供了迁移到云上的可能性
(4) SAP Cloud Platform上提供的种类丰富的企业级微服务,机器学习等强大功能,现在也能够被同在SAP云平台上的ABAP编程环境消费了。机器学习

现在SAP Cloud Platform上可供选择的编程语言又增添了ABAP,那么咱们接到开发任务时,根据什么样的依据从工具库里挑选使用的编程语言呢?编程语言

SAP给出的建议就是:具体问题具体分析。ide

企业开发人员具有的技能,企业现有的系统和软件资产,以及待开发的用户需求和涉及到的业务场景,都会影响编程语言的选择。通常来讲,ABAP和非ABAP编程语言各具优点,各有各的适用场合:Java,JavaScript和Python等语言的开发生态圈很是繁荣,Github各类开源的组件,工具库,能够说凡是你能想到的点子,生态圈几乎都早已有人作出来了,所以选择这些编程语言开发,咱们能够避免重复造不少轮子;而SAP云平台上的ABAP环境,借助CDS view,Restful ABAP Programming模型等ABAP语言提供的原生特性,在扩展基于ABAP技术栈的SAP产品时优点显得特别突出。微服务

clipboard7,7

SAP云平台ABAP编程环境最典型的两种使用场景

以Side-by-side方式对S/4HANA Cloud进行扩展。

首先须要解释何谓side-by-side Extensibility.

传统的SAP产品的二次开发方式是,ABAP开发者们经过SAP GUI登陆到ABAP On-Premises系统,直接在被扩展的系统上经过Netweaver提供的各类加强技术进行二次开发。

S/4HANA Cloud,SAP Marketing Cloud,SAP Cloud for Customer等后台基于Netweaver ABAP的云端解决方案,还提供了基于浏览器的面向Key User的扩展工具,使用者在浏览器里经过简单的向导步骤,也能实现对所在的云产品进行加强的需求。

这种加强方式,使用的开发工具由被加强应用自己提供,生成的资源和被加强的SAP产品都位于同一服务器上,所以称为In-App加强方式。这种方式简单易用,须要的技术门槛相对较低。

与此相对应的则是SAP Cloud Platform ABAP编程环境提供的side-by-side加强方式。这种加强方式一般的步骤是首先在本地开发环境完成开发,而后再部署到SAP云平台,SAP Kyma等平台上,所以二次开发内容最终部署和运行的环境,和被加强的SAP产品从物理上看是松耦合的,不在同一服务器上。

clipboard8,8

上图即SAP S/4HANA Cloud经过side-by-side方式进行扩展的示意图。位于SAP云平台上的ABAP加强经过云平台提供的Connectivity服务(Jerry以前的文章 SAP云平台上的ABAP编程环境里如何消费第三方服务 介绍过,能够理解成ABAP On-Premises里的Destination), 消费SAP S/4HANA Cloud的OData服务,实现对后者系统数据的增删改查和Action操做。

clipboard9,9

Side-by-side加强方式使得做为数字化核心的SAP S/4HANA的应用代码保持Stable & Clean,同时又能让二次开发工做者紧跟技术发展的趋势,使用业界最新最流行的技术进行SAP产品加强。

至此,SAP Cloud Platform ABAP编程环境和S/4HANA Cloud的区别和关系,想必你们应该能理解了吧。前者是加强/集成工具,后者是被加强的系统。

这种加强方式很是符合咨询公司Gartner的大佬,John MacDorman提出的IT双模型的交付模式,即采起两套独立管理却彼此互补的模式,一套交付模式采用传统成熟的软件开发方式,需求变更频率相对较低,强调交付的健壮和稳定性。另外一套则兼走偏锋,遵循“天下武功,惟快不破”的理想,强调敏捷,创新,探索,速度,高频次的迭代。

clipboard10,10

Jerry当时看了Google上对Gartner提出的IT双模型的介绍文字,第一反应就是:这不就是在描述SAP智慧企业概念里的“数字化核心”(SAP S/4HANA)和创新平台(SAP Cloud Platform)的关系吗?

clipboard11,11
clipboard12,12

Side-by-side这种加强内容与被加强的系统分开部署的灵活方式,使得从理论上来讲,若是加强开发的设计得足够通用,从商业模式上说,其就具有了能够单独拿出来售卖的可能性。

clipboard13,13

咱们经过下面的连接访问SAP应用中心:
https://www.sapappcenter.com/...

依次勾选左边的SAP Cloud Platform Services和ABAP,便可列出全部使用SAP Cloud Platform ABAP编程环境开发的partner解决方案。

clipboard14,14
clipboard15,15

但愿这篇文章能帮助你们理解SAP云平台ABAP编程环境的诞生缘由和使用场景,感谢阅读。

clipboard16,16

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
公众号截图

相关文章
相关标签/搜索