天天看點

如何基于Restful ABAP Programming模型開發并部署一個支援增删改查的Fiori應用

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上。幸運的是,這部分工作量也很小,沒有編碼工作,隻需要完成一些配置步驟。

已經把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應用

本文來自雲栖社群合作夥伴“汪子熙”,了解相關資訊可以關注微信公衆号"汪子熙"。

繼續閱讀