`
JerryWang_SAP
  • 浏览: 1001286 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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

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

 

 

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

 

 

 

 

 

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

 

 

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

 

 

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

 

 

(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给出的建议就是:具体问题具体分析。

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

 

 

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产品从物理上看是松耦合的,不在同一服务器上。

 

 

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

 

 

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

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

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

 

 

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

 

 

 

 

 

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

 

 

我们通过下面的链接访问SAP应用中心:
https://www.sapappcenter.com/home

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

 

 

 

 

 

希望这篇文章能帮助大家理解SAP云平台ABAP编程环境的诞生原因和使用场景,感谢阅读。

 

 

0
0
分享到:
评论

相关推荐

    实战SAP程序开发-从实例学ABAP编程.rar

    在“实战SAP程序开发-从实例学ABAP编程”这本书中,你可以深入学习到ABAP的核心概念、语法以及实际应用技巧。下面将详细阐述ABAP的相关知识点。 1. ABAP基础: - 数据类型:ABAP提供了丰富的内置数据类型,如I...

    实战SAP程序开发——从实例学SAP ABAP编程

    本书《实战SAP程序开发——从实例学SAP ABAP编程》的前12章,深入浅出地介绍了SAP ABAP的基础知识和实战技巧。以下是根据章节标题和内容概要提取的相关知识点: 1. **第二章 创建HELLO WORLD程序**: - ABAP编程...

    实战SAP程序开发-从实例学ABAP编程1

    中文版 实战SAP程序开发-从实例学ABAP编程 共5个分包,解压之后是一个PDF档~ 要学习SAP开发必看的书籍~ 从头到尾全面讲解SAP程序开发语言ABAP的所有语法和例子~

    实战SAP程序开发--从实例学SAP ABAP编程

    "实战SAP程序开发--从实例学SAP ABAP编程"这本书无疑为我们提供了一个深入学习和实践SAP ABAP的机会。 ABAP是SAP NetWeaver平台的核心部分,它允许开发者创建业务应用程序、报表、用户接口以及与其他系统的接口。...

    实战SAP程序开发_从实例学SAP_ABAP编程_清晰版5

    这是实战SAP程序开发_从实例学SAP_ABAP编程的清晰版本

    实战SAP程序开发-从实例学ABAP编程3

    中文版 实战SAP程序开发-从实例学ABAP编程 共5个分包,解压之后是一个PDF档~ 要学习SAP开发必看的书籍~ 从头到尾全面讲解SAP程序开发语言ABAP的所有语法和例子~

    SAP BC400-ABAP基础教程(中文版).pdf

    ABAP (Advanced Business Application Programming) 是一种由 SAP 开发的高级业务应用程序编程语言,主要用于开发、维护和扩展 SAP 应用程序。 #### SAP BC400 教程目的 SAP BC400-ABAP基础教程旨在为初学者提供一...

    从实例学SAP ABAP编程(1-19章).pdf

    由于给定的文件信息中只提供了标题、描述和部分内容,且部分内容并没有涉及到实际的技术知识点,而是关于文档阅读器的推荐信息,因此根据您的要求,我将直接依据标题“从实例学SAP ABAP编程(1-19章)”生成与SAP ABAP...

    实战SAP程序开发——从实例学SAP.ABAP编程

    本篇文章将深入探讨通过实例学习SAP ABAP编程的关键知识点,旨在帮助初学者及有经验的开发者更好地理解和实践SAP程序开发。 1. SAP ABAP基础: - ABAP数据类型:理解基本数据类型如CHAR、INT、FLOAT等,以及结构化...

    云南鸿翔SAP培训------ABAP

    云南鸿翔SAP培训------ABAP,abap的ppt,很好的资料哦

    实战SAP程序开发-从实例学ABAP编程2

    中文版 实战SAP程序开发-从实例学ABAP编程 共5个分包,解压之后是一个PDF档~ 要学习SAP开发必看的书籍~ 从头到尾全面讲解SAP程序开发语言ABAP的所有语法和例子~

    实战SAP程序开发——从实例学SAP ABAP编程.rar

    对于想要深入理解SAP编程的初学者,实战SAP程序开发——从实例学SAP ABAP编程这个资源提供了宝贵的实践机会。 SAP ABAP是一种结构化编程语言,主要用于创建用户界面、业务逻辑和报表。以下是一些核心的SAP ABAP知识...

    实战SAP程序开发-从实例学ABAP编程5

    中文版 实战SAP程序开发-从实例学ABAP编程 共5个分包,解压之后是一个PDF档~ 要学习SAP开发必看的书籍~ 从头到尾全面讲解SAP程序开发语言ABAP的所有语法和例子~

    实战SAP程序开发-从实例学ABAP编程4

    中文版 实战SAP程序开发-从实例学ABAP编程 共5个分包,解压之后是一个PDF档~ 要学习SAP开发必看的书籍~ 从头到尾全面讲解SAP程序开发语言ABAP的所有语法和例子~

    实战sap程序开发——从实例学sap abap编程

    《实战SAP程序开发——从实例学SAP ABAP编程》是一本专为希望深入学习SAP ABAP编程的读者量身打造的实战指南。ABAP(Advanced Business Application Programming)是SAP系统中的核心编程语言,用于开发企业级业务...

    从实例学SAP ABAP编程(1-19章)

    《从实例学SAP ABAP编程》是一本深入浅出的教程,涵盖了SAP ABAP编程的19个关键章节,旨在帮助读者掌握这一企业级应用开发语言的基础和高级技巧。SAP ABAP(Advanced Business Application Programming)是SAP公司...

    ABAP开发从入门到精通-高清自学版 SAP+ABAP开发从入门到精通 SAP开发自学必读 SAP SAP开发自学入门到精通

    SAP系统在全球企业资源规划(ERP)领域有着广泛的应用,而ABAP则是其核心开发语言,使得企业能够根据自身需求定制化SAP系统。 首先,"ABAP开发从入门到精通"这一主题涵盖了学习ABAP的基础到高级概念。对于初学者,...

    从实例学sap abap编程

    - **SAP云平台ABAP环境**:学习如何在云端开发和部署ABAP应用。 通过《从实例学SAP ABAP编程》这本教程,读者将不仅掌握ABAP编程的基础,还能获得丰富的实战经验,从而在SAP系统开发领域中游刃有余。无论你是初学...

    实战SAP程序开发——从实例学SAP.ABAP编程1-12

    本教程“实战SAP程序开发——从实例学SAP.ABAP编程1-12”旨在引导初学者和中级开发者深入了解ABAP的基本概念和实践技巧。 1. **ABAP基本语法**:ABAP语法是学习ABAP的基础,包括数据类型、变量声明、控制结构(如...

Global site tag (gtag.js) - Google Analytics