学而不思则罔 - 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編程環境的誕生原因和使用場景,感謝閱讀。
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙": 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的学而不思则罔 - SAP云平台ABAP编程环境的由来和适用场景的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “米冲高”成了?小米13 Ultra预定
- 下一篇: 月费 4.2 万美元太贵,微软数字营销中