学而不思则罔 - SAP云平台ABAP编程环境的由来和适用场景
最近Jerry寫了一系列關(guān)于SAP云平臺(tái)ABAP編程環(huán)境的技術(shù)文章,這些文章都是圍繞著在云上的ABAP編程環(huán)境的具體知識(shí)點(diǎn)來分享,比如要完成一個(gè)具體的開發(fā)需求,所需要的編程步驟。這些文章陸續(xù)收到一些讀者朋友的留言,咨詢各種各樣的問題,我才意識(shí)到Jerry缺少一篇對(duì)SAP Cloud Platform ABAP編程環(huán)境總體的介紹文章,比如SAP為什么要發(fā)布這款云平臺(tái)上的編程環(huán)境,它的使用場(chǎng)景,和S/4HANA Cloud的關(guān)系是什么等等。
今天就把這篇遲來的文章補(bǔ)上。
SAP Cloud Platform發(fā)布后很長(zhǎng)一段時(shí)間,在SAP各大技術(shù)社區(qū)里,能感覺到ABAP從業(yè)者們內(nèi)心一絲隱隱的失落:盡管SAP和其他IT公司一道,大步邁開了向云端轉(zhuǎn)型的步伐,在SAP云平臺(tái)上通過BYOL(Bring Your Own Language)的架構(gòu),實(shí)現(xiàn)了對(duì)業(yè)界流行編程語言的支持,這使得擁有Java,nodejs,PHP,Python,Ruby,Go等編程技能的開發(fā)人員們,也能加入SAP生態(tài)圈這個(gè)大家庭。
然而,這些編程語言的集合里,竟然沒有SAP的主打語言ABAP?It’s embarrassing…
不過ABAP從業(yè)者們“被云時(shí)代拋棄”的這份尷尬,隨著SAP云平臺(tái) ABAP編程環(huán)境的發(fā)布一掃而空。截至您看到Jerry這篇文章為止,SAP Cloud Platform編程環(huán)境和運(yùn)行時(shí),已經(jīng)出現(xiàn)了ABAP的身影:
ABAP加入SAP Cloud Platform編程環(huán)境的大家庭,好處是顯而易見的:
(1) 廣大的ABAP從業(yè)者們終于上車了,大家以前在Netweaver On-Premises里的ABAP編程技能可以繼續(xù)在云上發(fā)光發(fā)熱——盡管SAP云平臺(tái)上的ABAP編程環(huán)境里出現(xiàn)了許多新的關(guān)鍵字,新的編程模型,然而ABAP畢竟還是ABAP,這些新知識(shí)對(duì)于ABAP從業(yè)者來說,學(xué)習(xí)和掌握的速度比非ABAP編程人員要快得多。
(2) 為基于ABAP技術(shù)棧的SAP產(chǎn)品的擴(kuò)展,提供了一種新的開發(fā)方式。這一點(diǎn)稍后會(huì)展開細(xì)說。
(3) 為以前大量存在于ABAP On-Premises環(huán)境的二次開發(fā)代碼提供了遷移到云上的可能性
(4) SAP Cloud Platform上提供的種類豐富的企業(yè)級(jí)微服務(wù),機(jī)器學(xué)習(xí)等強(qiáng)大功能,如今也可以被同在SAP云平臺(tái)上的ABAP編程環(huán)境消費(fèi)了。
如今SAP Cloud Platform上可供選擇的編程語言又增添了ABAP,那么我們接到開發(fā)任務(wù)時(shí),根據(jù)什么樣的依據(jù)從工具庫里挑選使用的編程語言呢?
SAP給出的建議就是:具體問題具體分析。
企業(yè)開發(fā)人員具備的技能,企業(yè)現(xiàn)有的系統(tǒng)和軟件資產(chǎn),以及待開發(fā)的用戶需求和涉及到的業(yè)務(wù)場(chǎng)景,都會(huì)影響編程語言的選擇。一般來說,ABAP和非ABAP編程語言各具優(yōu)勢(shì),各有各的適用場(chǎng)合:Java,JavaScript和Python等語言的開發(fā)生態(tài)圈非常繁榮,Github各種開源的組件,工具庫,可以說凡是你能想到的點(diǎn)子,生態(tài)圈幾乎都早已有人做出來了,因此選擇這些編程語言開發(fā),我們可以避免重復(fù)造很多輪子;而SAP云平臺(tái)上的ABAP環(huán)境,借助CDS view,Restful ABAP Programming模型等ABAP語言提供的原生特性,在擴(kuò)展基于ABAP技術(shù)棧的SAP產(chǎn)品時(shí)優(yōu)勢(shì)顯得特別突出。
SAP云平臺(tái)ABAP編程環(huán)境最典型的兩種使用場(chǎng)景
以Side-by-side方式對(duì)S/4HANA Cloud進(jìn)行擴(kuò)展。
首先需要解釋何謂side-by-side Extensibility.
傳統(tǒng)的SAP產(chǎn)品的二次開發(fā)方式是,ABAP開發(fā)者們通過SAP GUI登錄到ABAP On-Premises系統(tǒng),直接在被擴(kuò)展的系統(tǒng)上通過Netweaver提供的各種增強(qiáng)技術(shù)進(jìn)行二次開發(fā)。
S/4HANA Cloud,SAP Marketing Cloud,SAP Cloud for Customer等后臺(tái)基于Netweaver ABAP的云端解決方案,還提供了基于瀏覽器的面向Key User的擴(kuò)展工具,使用者在瀏覽器里通過簡(jiǎn)單的向?qū)Р襟E,也能實(shí)現(xiàn)對(duì)所在的云產(chǎn)品進(jìn)行增強(qiáng)的需求。
這種增強(qiáng)方式,使用的開發(fā)工具由被增強(qiáng)應(yīng)用本身提供,生成的資源和被增強(qiáng)的SAP產(chǎn)品都位于同一服務(wù)器上,因此稱為In-App增強(qiáng)方式。這種方式簡(jiǎn)單易用,需要的技術(shù)門檻相對(duì)較低。
與此相對(duì)應(yīng)的則是SAP Cloud Platform ABAP編程環(huán)境提供的side-by-side增強(qiáng)方式。這種增強(qiáng)方式通常的步驟是首先在本地開發(fā)環(huán)境完成開發(fā),然后再部署到SAP云平臺(tái),SAP Kyma等平臺(tái)上,因此二次開發(fā)內(nèi)容最終部署和運(yùn)行的環(huán)境,和被增強(qiáng)的SAP產(chǎn)品從物理上看是松耦合的,不在同一服務(wù)器上。
上圖即SAP S/4HANA Cloud通過side-by-side方式進(jìn)行擴(kuò)展的示意圖。位于SAP云平臺(tái)上的ABAP增強(qiáng)通過云平臺(tái)提供的Connectivity服務(wù)(Jerry之前的文章 SAP云平臺(tái)上的ABAP編程環(huán)境里如何消費(fèi)第三方服務(wù) 介紹過,可以理解成ABAP On-Premises里的Destination), 消費(fèi)SAP S/4HANA Cloud的OData服務(wù),實(shí)現(xiàn)對(duì)后者系統(tǒng)數(shù)據(jù)的增刪改查和Action操作。
Side-by-side增強(qiáng)方式使得作為數(shù)字化核心的SAP S/4HANA的應(yīng)用代碼保持Stable & Clean,同時(shí)又能讓二次開發(fā)工作者緊跟技術(shù)發(fā)展的趨勢(shì),使用業(yè)界最新最流行的技術(shù)進(jìn)行SAP產(chǎn)品增強(qiáng)。
至此,SAP Cloud Platform ABAP編程環(huán)境和S/4HANA Cloud的區(qū)別和關(guān)系,想必大家應(yīng)該能理解了吧。前者是增強(qiáng)/集成工具,后者是被增強(qiáng)的系統(tǒng)。
這種增強(qiáng)方式非常符合咨詢公司Gartner的大佬,John MacDorman提出的IT雙模型的交付模式,即采取兩套獨(dú)立管理卻彼此互補(bǔ)的模式,一套交付模式采用傳統(tǒng)成熟的軟件開發(fā)方式,需求變動(dòng)頻率相對(duì)較低,強(qiáng)調(diào)交付的健壯和穩(wěn)定性。另一套則兼走偏鋒,遵循“天下武功,唯快不破”的理想,強(qiáng)調(diào)敏捷,創(chuàng)新,探索,速度,高頻次的迭代。
Jerry當(dāng)時(shí)看了Google上對(duì)Gartner提出的IT雙模型的介紹文字,第一反應(yīng)就是:這不就是在描述SAP智慧企業(yè)概念里的“數(shù)字化核心”(SAP S/4HANA)和創(chuàng)新平臺(tái)(SAP Cloud Platform)的關(guān)系嗎?
Side-by-side這種增強(qiáng)內(nèi)容與被增強(qiáng)的系統(tǒng)分開部署的靈活方式,使得從理論上來說,如果增強(qiáng)開發(fā)的設(shè)計(jì)得足夠通用,從商業(yè)模式上說,其就具備了可以單獨(dú)拿出來售賣的可能性。
我們通過下面的鏈接訪問SAP應(yīng)用中心:
https://www.sapappcenter.com/home
依次勾選左邊的SAP Cloud Platform Services和ABAP,即可列出所有使用SAP Cloud Platform ABAP編程環(huán)境開發(fā)的partner解決方案。
希望這篇文章能幫助大家理解SAP云平臺(tái)ABAP編程環(huán)境的誕生原因和使用場(chǎng)景,感謝閱讀。
要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙": 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的学而不思则罔 - SAP云平台ABAP编程环境的由来和适用场景的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “米冲高”成了?小米13 Ultra预定
- 下一篇: 月费 4.2 万美元太贵,微软数字营销中