最近Jerry寫了一系列關於SAP雲平臺ABAP編程環境的技術文章,這些文章都是圍繞着在雲上的ABAP編程環境的具體知識點來分享,好比要完成一個具體的開發需求,所須要的編程步驟。這些文章陸續收到一些讀者朋友的留言,諮詢各類各樣的問題,我才意識到Jerry缺乏一篇對SAP Cloud Platform ABAP編程環境整體的介紹文章,好比SAP爲何要發佈這款雲平臺上的編程環境,它的使用場景,和S/4HANA Cloud的關係是什麼等等。node
今天就把這篇遲來的文章補上。編程
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編程環境的你們庭,好處是顯而易見的:app
(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產品時優點顯得特別突出。微服務
首先須要解釋何謂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/...
依次勾選左邊的SAP Cloud Platform Services和ABAP,便可列出全部使用SAP Cloud Platform ABAP編程環境開發的partner解決方案。
但願這篇文章能幫助你們理解SAP雲平臺ABAP編程環境的誕生緣由和使用場景,感謝閱讀。
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":