如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用

注销發表於2019-10-12

Jerry之前的文章 30分鐘用Restful ABAP Programming模型開發一個支援增刪改查的Fiori應用 釋出之後,有朋友問我,“沒錯, 我是在你的文章裡看到了Fiori應用的介面,可是這個Fiori應用的原始碼我在SAP雲平臺上什麼地方能看到呢?這個Fiori應用部署之後的狀態,我在哪裡能夠檢視呢?”

這位朋友的發問非常有力,實際上,Jerry前一篇文章,離Fiori應用的開發和部署這個目標還有一半的距離。我們回憶下當時是如何基於開發完成的Restful ABAP Programming模型彈出Fiori介面的:


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


從上圖可以看出,我選中了一個Service Binding模型裡的TravelProcessor這個節點,從右鍵選單裡選擇Open Fiori Elements App Preview選項,這會自動開啟一個在預覽模式下工作的Fiori Elements應用(以前的名稱叫Fiori Smart Template):


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


現在Fiori UI倒是開啟了,但是大家仔細觀察上圖,應用的視窗標題為"Preview for Fiori Elements App", 應用的url裡包含/sap/bc/adt/這種ABAP Development Tool相關的片段——這種工作在預覽模式下的應用顯然無法用於生產用途的。

因此本文繼續完成剩下的一半開發工作——基於手頭已有的Restful ABAP Programming模型,真正地建立一個Fiori應用並部署到SAP Cloud Platform上。幸運的是,這部分工作量也很小,沒有編碼工作,只需要完成一些配置步驟。

Jerry之前的文章 30分鐘用Restful ABAP Programming模型開發一個支援增刪改查的Fiori應用 已經把SAP Cloud Platform ABAP程式設計環境裡的名為I_Currency的CDS view通過Service Definition的方式暴露出來了,然後由Service binding繫結到OData協議上,這樣我們馬上要建立的Fiori應用可以通過這個Service binding,以OData的方式讀取到CDS view裡的資料。


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


假設我的Restful ABAP Programming模型和待開發的Fiori應用是在兩個不同Region的SAP Cloud Platform上部署的,比如RAP模型放在Europe(Frankfurt)Region上(這是SAP雲平臺ABAP環境目前唯一的選擇):


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用




如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


而Fiori應用放在Europe(Rot)的Neo環境上(支援Neo的Region選擇就很多了):


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


那麼這種跨Region間的服務呼叫,需要建立老三樣,即Communication Scenario,Communication System和Communication Arrangement.

SAP官網上有詳細教程:

https://developers.sap.com/group.abap-env-first-app.html

這裡Jerry只強調要點。

(1) 在ABAP Development Tool裡右鍵選單建立Communication Scenario Z_JERRY_COMMU_SCE,然後把前一篇文章建立的Service Binding模型新增到這個Scenario的inbound service頁面裡:


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


(2) 在ABAP Development Tool右擊ABAP Cloud專案,在屬性頁裡找到這個SAP雲平臺ABAP環境的Fiori介面的url:


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


Communication Systems,Users和Arrangements都在此處建立。


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


Communication User顧名思義,SAP雲平臺Neo環境上的Fiori應用使用這個user,呼叫OData服務消費ABAP環境裡的RAP模型。ABAP顧問可以把它類比成SAP GUI裡的使用者WF-BATCH, 只不過前者允許應用開發人員自行建立並設定密碼。


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


建立Communication System,把ABAP Development Tool屬性頁裡拿到的url,去掉最前面的https://,將剩下的值維護到Host Name裡:


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


把之前建立的Communication User分配給這個Communication System:


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


最後建立Communication Arrangement:


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


選中第一步在ABAP Development Tool裡建立的Communication Scenario:


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


給這個Arrangement分配剛剛建立的Communication System:


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


如果一切正常工作,建立好的Communication Arrangement如下圖所示。將Service Url抄下來,因為下一步建立Fiori應用需要這個url. 觀察這個url,其包含SAP雲平臺ABAP程式設計環境的hostname和/sap/opu/odata/sap/開頭的片段,後者就是Service Definition藉助Service Binding通過OData協議暴露出來的url.


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


(3) 回到SAP雲平臺Neo環境,建立一個指向ABAP環境的Destination,我起了個名字to_ABAPCloud, 將上一步Communication Arrangement裡得到的url貼上進來,User選擇前一步建立的Communication User,同時給這個Destination新增兩個額外的屬性:

  • WebIDEEnabled:true
  • WebIDEUsage:odata_gen, odata_abap

只有這樣,稍後開啟的webIDE裡才能識別到這個Destination,否則的話,它只能在Java或者nodejs應用裡使用。


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


剩下的就是在WebIDE裡通過嚮導建立Fiori應用了。開啟WebIDE,選擇New->Project from Template:


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


此處需要選擇一個模板來建立Fiori應用。我們選擇List Report Application,它會以只讀的方式顯示繫結的Odata服務對應的CDS view裡的內容。


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用




如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


在Data Connection這一向導步驟,選擇之前在Neo環境裡建立的Destination:


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


然後將之前Communication Arrangement建立後獲得的url維護進Service Url裡,點選Test按鈕,解析出這個url對應的OData模型節點:Currency.


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用




如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


點選Finish完成Fiori應用的自動建立工作。現在我們在WebIDE裡得到了一個真正的Fiori應用。通過右鍵選單將其從WebIDE部署到SAP Cloud Platform上:


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用




如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


成功部署:


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


在SAP雲平臺的控制檯裡獲得了這個Fiori應用的url,我們將其和之前在預覽模式下工作的Fiori應用url做對比,是不是有很大的不同?


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


點選url訪問,現在這個Fiori頁面的視窗標題再也沒有了Preview的字樣,可以直接用於生產用途了。


如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


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



如何基於Restful ABAP Programming模型開發並部署一個支援增刪改查的Fiori應用


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

相關文章