中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SAP API開發方法有哪些

發布時間:2021-12-30 10:19:07 來源:億速云 閱讀:190 作者:iii 欄目:大數據

本篇內容主要講解“SAP API開發方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“SAP API開發方法有哪些”吧!

(1) ABAP function module + SOAMANAGER

最古老的技術,把ABAP系統里的函數通過SOAMANAGER發布成Web Service. 雖然古老,但至今S/4HANA里的Service模塊的新功能開發還在使用。

SAP API開發方法有哪些

(2) 基于事務碼SEGW的SAP CRM OData服務手動實現

這是我最熟悉的SAP OData服務實現方式,因為我就是SAP CRM OData服務的開發者之一。SAP成都研究院CRM開發團隊在2014和2015年開發這些OData服務時,SAP Fiori Elements的前身,當時的名稱是Smart Template,還處于發展初期,所以那時候我們沒有選擇這項基于元數據驅動的開發方式。

SAP API開發方法有哪些

(3) 基于CDS view的OData服務自動生成

再后來,隨著CDS view和Fiori Elements的成熟,我們可以基于加上了@OData.publish注解的CDS view,直接生成OData服務了

在S/4HANA里,除了在ABAP Development Tool里手動給CDS view加上@OData.publish注解之外,還可以采取另一種方式,純粹在瀏覽器里完成操作。

使用S/4HANA里的Custom CDS Views這個應用,

SAP API開發方法有哪些

可以選擇S/4HANA里多個標準的CDS view來創建新的復合視圖,

SAP API開發方法有哪些

并能根據自己的需求,來挑選哪些標準視圖的字段需要包含到新的復合視圖里:

SAP API開發方法有哪些

最后也是一鍵實現復合視圖的OData服務發布。

SAP API開發方法有哪些

到了SAP云平臺ABAP環境上,基于CDS view創建的Service Definition和Service Binding,把OData服務和Fiori UI界面的創建全部包辦了。

SAP API開發方法有哪些

(4) SAP Cloud for Customer里基于Business Object的自定義OData API創建

前面在SAP S/4HANA Fiori Launchpad里看到的Custom CDS View這個應用,即使不太懂技術的Key User,也能在瀏覽器里完成字段的搭配和OData服務的發布。

SAP Cloud for Customer也有類似的設計,只不過供Key User選擇的不是CDS view,而是C4C里標準的Business Object.

SAP API開發方法有哪些SAP API開發方法有哪些

Key User在瀏覽器的Custom OData Service應用里能選擇將Business Object節點里的哪些字段發布到OData服務里,此操作同SAP S/4HANA里選擇標準CDS view字段的思路是一樣的。

SAP API開發方法有哪些

在C4C的Cloud Application Studio里,還能基于標準Business Object創建Web Service.

SAP API開發方法有哪些

總結:基于ABAP技術棧的SAP產品,運行于其上的OData或者Web Service這些API,本質都是通過ABAP Netweaver的ICF(Internet Communication Framework)被外界消費的。我們觀察其調用Url路徑,就能找到SICF事務碼里的對應的處理節點。

以SAP CRM OData服務Url末尾的CRM_OPPORTUNITY為例:

SAP API開發方法有哪些

在SICF事務碼里能找到對應的同名節點。我們只需要在SICF里給這個節點綁定一個ABAP類,該節點對應的Url通過瀏覽器或者Postman,或者其他編程語言訪問時,ABAP ICF框架就會自動調用綁定的ABAP類。

SAP API開發方法有哪些

也就是說,應用開發人員只需要在ABAP類里實現業務邏輯,至于這個類運行時的實例如何被ICF調用,如何初始化和銷毀等生命周期管理,ABAP開發人員完全不用操心。

(5) 基于Java SpringBoot,Node Express等Web應用框架的API開發

采用此類開發方式的生態圈是全球最龐大最活躍的群體,技術成熟穩定,相關文檔和教材非常豐富。更新更先進的開發框架也在不斷演化。開發人員通常在本地完成開發,再將應用部署到服務器上運行。也可以將應用打包成容器鏡像,再以容器的方法運行在物理服務器或者SAP云平臺,AWS,Google Cloud Platform,Azure等各種云上。容器數量到達一定規模之后,可以采用Kubernetes進行編排管理。

SAP API開發方法有哪些

Jerry之前的項目里也消費過SAP Commerce的Web Service:如何使用API的方式消費SAP Commerce Cloud的訂單服務。

(6) Serverless 架構

云計算行業里的一個熱門詞匯,Serverless架構,并不意味著采用這個架構后就再也不需要服務器了,而是指應用開發人員不用關心開發好的應用如何部署到服務器,不需要考慮服務器的運行狀態等運營和維護問題。傳統Web應用的開發思路,如之前介紹的那樣,通常在本地完成開發和單元測試,然后需要考慮采用何種方式,部署到何種服務器或者云上。

SAP API開發方法有哪些

而基于Serverless架構的API/服務開發,根本就沒有API部署的這個步驟。以Jerry之前介紹過的SAP Kyma上的Lambda Function為例,API函數本身的代碼編寫就是在云上完成。一旦保存,只要API維護的觸發條件滿足(事件觸發或者Url觸發),該API立即被調用。

下圖是我在SAP Kyma里使用nodejs編寫的一個Lambda Function:

SAP API開發方法有哪些

我設置其通過HTTPS的方式被調用:

SAP API開發方法有哪些

在瀏覽器里訪問這個HTTPS-endpoint,Lambda Function立即執行。

SAP API開發方法有哪些

從這個角度講,Jerry覺得ABAP開發人員,在開發API的時候,一直就在享受著Serverless架構帶來的便利。因為ABAP領域的開發,無論是通過SAPGUI,ABAP Development Tool,還是通過各種Key User工具,本質上都是連接到ABAP Netweaver這個集應用開發和運行為一體的服務器上進行的,因而根本沒有傳統Java/nodejs開發里的應用部署這一環節。

關于更多如何使用Lambda Function實現API的介紹,請參考Jerry的文章:

  • 從ABAP Netweaver的SICF到SAP Kyma的Lambda Function

  • 周伯通的空明拳,米諾斯的星塵傀儡線,SAP Kyma的Serverless

(7) SAP Data Intelligence Graph

這種方式嚴格來講也算基于Serverless,使用者通過瀏覽器登錄SAP Data Intelligence控制臺,進行Graph建模。完成后啟動,Graph就直接運行在SAP Cloud Platform的Kubernetes基礎設施上了。

SAP API開發方法有哪些

之所以把這種方式單獨拿出來介紹,是因為其又具有Low Code Development(低代碼開發)的特質。

看一個具體的例子。

假設我想實現一個支持CRUD的API,消費者通過HTTP GET, POST和DELETE請求,能夠在數據庫里分別讀取,插入和刪除一條記錄。

低代碼開發平臺,通常都提供了圖形化的用戶界面,給使用者提供了通過拖拽組件和模型驅動開發的方式, 結合少量的編碼來快速創建應用或者API.

訪問SAP Data Intelligence Launchpad,進入Modeler:

SAP API開發方法有哪些

我們像小朋友搭積木一樣,從左邊的工具箱里,拖拽HTTP Server和若干個JavaScript Handler到編輯頁面里。

SAP API開發方法有哪些SAP API開發方法有哪些

到此,相信大家對“SAP API開發方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利津县| 法库县| 临西县| 永定县| 漳平市| 延边| 西畴县| 五华县| 扎鲁特旗| 安阳市| 马公市| 龙山县| 奇台县| 二连浩特市| 罗田县| 中阳县| 南康市| 资中县| 天峻县| 安平县| 南平市| 寻乌县| 芦溪县| 磐安县| 张家港市| 南安市| 乌海市| 安新县| 安康市| 黔西县| 思南县| 罗源县| 芮城县| 红桥区| 湘潭市| 嘉义县| 三亚市| 进贤县| 孝感市| 香格里拉县| 六安市|