學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景

i042416發表於2019-10-10

最近Jerry寫了一系列關於SAP雲平臺ABAP程式設計環境的技術文章,這些文章都是圍繞著在雲上的ABAP程式設計環境的具體知識點來分享,比如要完成一個具體的開發需求,所需要的程式設計步驟。這些文章陸續收到一些讀者朋友的留言,諮詢各種各樣的問題,我才意識到Jerry缺少一篇對SAP Cloud Platform ABAP程式設計環境總體的介紹文章,比如SAP為什麼要釋出這款雲平臺上的程式設計環境,它的使用場景,和S/4HANA Cloud的關係是什麼等等。

今天就把這篇遲來的文章補上。


學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景


SAP Cloud Platform釋出後很長一段時間,在SAP各大技術社群裡,能感覺到ABAP從業者們內心一絲隱隱的失落:儘管SAP和其他IT公司一道,大步邁開了向雲端轉型的步伐,在SAP雲平臺上通過BYOL(Bring Your Own Language)的架構,實現了對業界流行程式語言的支援,這使得擁有Java,nodejs,PHP,Python,Ruby,Go等程式設計技能的開發人員們,也能加入SAP生態圈這個大家庭。


學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景




學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景


然而,這些程式語言的集合裡,竟然沒有SAP的主打語言ABAP?It's embarrassing...


學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景


不過ABAP從業者們“被雲時代拋棄”的這份尷尬,隨著SAP雲平臺 ABAP程式設計環境的釋出一掃而空。截至您看到Jerry這篇文章為止,SAP Cloud Platform程式設計環境和執行時,已經出現了ABAP的身影:


學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景


ABAP加入SAP Cloud Platform程式設計環境的大家庭,好處是顯而易見的:


學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景


(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程式設計環境的由來和適用場景


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雲平臺ABAP程式設計環境的由來和適用場景


上圖即SAP S/4HANA Cloud通過side-by-side方式進行擴充套件的示意圖。位於SAP雲平臺上的ABAP增強通過雲平臺提供的Connectivity服務(Jerry之前的文章 SAP雲平臺上的ABAP程式設計環境裡如何消費第三方服務 介紹過,可以理解成ABAP On-Premises裡的Destination), 消費SAP S/4HANA Cloud的OData服務,實現對後者系統資料的增刪改查和Action操作。


學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景


Side-by-side增強方式使得作為數字化核心的SAP S/4HANA的應用程式碼保持Stable & Clean,同時又能讓二次開發工作者緊跟技術發展的趨勢,使用業界最新最流行的技術進行SAP產品增強。

至此,SAP Cloud Platform ABAP程式設計環境和S/4HANA Cloud的區別和關係,想必大家應該能理解了吧。前者是增強/整合工具,後者是被增強的系統。

這種增強方式非常符合諮詢公司Gartner的大佬,John MacDorman提出的IT雙模型的交付模式,即採取兩套獨立管理卻彼此互補的模式,一套交付模式採用傳統成熟的軟體開發方式,需求變動頻率相對較低,強調交付的健壯和穩定性。另一套則兼走偏鋒,遵循“天下武功,唯快不破”的理想,強調敏捷,創新,探索,速度,高頻次的迭代。


學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景


Jerry當時看了Google上對Gartner提出的IT雙模型的介紹文字,第一反應就是:這不就是在描述SAP智慧企業概念裡的“數字化核心”(SAP S/4HANA)和創新平臺(SAP Cloud Platform)的關係嗎?


學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景




學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景


Side-by-side這種增強內容與被增強的系統分開部署的靈活方式,使得從理論上來說,如果增強開發的設計得足夠通用,從商業模式上說,其就具備了可以單獨拿出來售賣的可能性。


學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景


我們通過下面的連結訪問SAP應用中心:
https://www.sapappcenter.com/home

依次勾選左邊的SAP Cloud Platform Services和ABAP,即可列出所有使用SAP Cloud Platform ABAP程式設計環境開發的partner解決方案。


學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景




學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景


希望這篇文章能幫助大家理解SAP雲平臺ABAP程式設計環境的誕生原因和使用場景,感謝閱讀。


學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景


要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":



學而不思則罔 - SAP雲平臺ABAP程式設計環境的由來和適用場景


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2659437/,如需轉載,請註明出處,否則將追究法律責任。

相關文章