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

Jerry以前的文章30分鐘用Restful ABAP Programming模型開發一個支持增刪改查的Fiori應用 發佈以後,有朋友問我,「沒錯, 我是在你的文章裏看到了Fiori應用的界面,但是這個Fiori應用的源代碼我在SAP雲平臺上什麼地方能看到呢?這個Fiori應用部署以後的狀態,我在哪裏可以查看呢?」html

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

clipboard1,1

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

clipboard2,2

如今Fiori UI卻是打開了,可是你們仔細觀察上圖,應用的窗口標題爲"Preview for Fiori Elements App", 應用的url裏包含/sap/bc/adt/這種ABAP Development Tool相關的片斷——這種工做在預覽模式下的應用顯然沒法用於生產用途的。github

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

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裏的數據。編程

clipboard3,3

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

clipboard4,4
clipboard5,5

而Fiori應用放在Europe(Rot)的Neo環境上(支持Neo的Region選擇就不少了):編碼

clipboard6,6

那麼這種跨Region間的服務調用,須要建立老三樣,即Communication Scenario,Communication System和Communication Arrangement.url

SAP官網上有詳細教程:spa

https://developers.sap.com/gr...

這裏Jerry只強調要點。

(1) 在ABAP Development Tool裏右鍵菜單建立Communication Scenario Z_JERRY_COMMU_SCE,而後把前一篇文章建立的Service Binding模型添加到這個Scenario的inbound service頁面裏:

clipboard7,7

(2) 在ABAP Development Tool右擊ABAP Cloud項目,在屬性頁裏找到這個SAP雲平臺ABAP環境的Fiori界面的url:

clipboard8,8

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

clipboard9,9

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

clipboard10,10

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

clipboard11,11

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

clipboard12,12

最後建立Communication Arrangement:

clipboard13,13

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

clipboard14,14

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

clipboard15,15

若是一切正常工做,建立好的Communication Arrangement以下圖所示。將Service Url抄下來,由於下一步建立Fiori應用須要這個url. 觀察這個url,其包含SAP雲平臺ABAP編程環境的hostname和/sap/opu/odata/sap/開頭的片斷,後者就是Service Definition藉助Service Binding經過OData協議暴露出來的url.

clipboard16,16

(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應用裏使用。

clipboard17,17

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

clipboard18,18

此處須要選擇一個模板來建立Fiori應用。咱們選擇List Report Application,它會以只讀的方式顯示綁定的Odata服務對應的CDS view裏的內容。

clipboard19,19
clipboard20,20

在Data Connection這一貫導步驟,選擇以前在Neo環境裏建立的Destination:

clipboard21,21

而後將以前Communication Arrangement建立後得到的url維護進Service Url裏,點擊Test按鈕,解析出這個url對應的OData模型節點:Currency.

clipboard22,22
clipboard23,23

點擊Finish完成Fiori應用的自動建立工做。如今咱們在WebIDE裏獲得了一個真正的Fiori應用。經過右鍵菜單將其從WebIDE部署到SAP Cloud Platform上:

clipboard24,24
clipboard25,25

成功部署:

clipboard26,26

在SAP雲平臺的控制檯裏得到了這個Fiori應用的url,咱們將其和以前在預覽模式下工做的Fiori應用url作對比,是否是有很大的不一樣?

clipboard27,27

點擊url訪問,如今這個Fiori頁面的窗口標題再也沒有了Preview的字樣,能夠直接用於生產用途了。

clipboard28,28

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

相關文章
相關標籤/搜索