SAP Fiori應用的三種部署方式
封面圖片來自Google搜索,關鍵字: Fiori Deployment
方式1 On premise環境下以BSP應用作為Fiori應用部署和運行的載體
在SAP成都labs我曾經擔任過CRM這幾個Fiori應用的開發和維護工作:
在Google上搜索關鍵字Fiori Architecture, 能找到這樣一張圖片,其中CRM和S/4 HANA的Fiori應用都以BSP應用的方式運行在下圖我標註了紅色方框的ABAP前臺服務器上。
以CRM的My lead應用為例,在Chrome的development tool裏能找到其對應的BSP應用名稱為crm_leads,
用SAPGUI登錄這臺前臺服務器,使用事務碼SE80即可打開該BSP應用,裏面的層級結構和Chrome的development tool裏觀察到的一致(前提是您使用ctrl+alt+shift+p加載了調試版本的應用源碼)
我們可以用各種IDE(比如Eclipse, Sublime, Atom, Webstorm)等進行Fiori應用開發,然後使用report /UI5/UI5_REPOSITORY_LOAD將本地工程上傳到前臺服務器,具體步驟參考這篇博客Deploy a Fiori app in SAP Fiori
另外,Eclipse有個SAP開發的插件叫做ABAP Repository Team Provider,使用它可以實現UI5應用的一鍵部署,具體步驟請參考博客: How to Deploy and Run SAPUI5 application on ABAP Server
您也可以嘗試使用WebIDE做開發,然後通過WebIDE將應用部署到ABAP前臺服務器。
細節請參考博文:How to deploy the Web IDE UI5 application to ABAP repository
這篇博文來自我的同事,SAP成都C4C開發團隊的Wu David,高大帥氣的程序猿,而且有一手精湛的廚藝。
方式2 部署並運行在On Cloud環境下
如果說前一種方式成功地使得SAP傳統的運行在Netweaver平臺的BSP技術繼續發光發熱,那麽這第二種方式則體現了SAP擁抱雲,擁抱變化的決心。這種方式部署的Fiori已經和Netweaver與ABAP平臺再無任何關聯。目前SAP成都所有基於雲的產品開發團隊無一例外地采用了這種方式。
SCP(SAP Cloud Platform)是SAP傾力打造的雲平臺,假設您已經開發好了一個Fiori應用,想將其部署並且運行在SCP上,您可以參考來自SAP成都雲開發團隊的Chen Vicky, 一位年輕漂亮的程序媛的博文:How to deploy UI5 application on SCP
(Vicky雖然2016年7月畢業才加入SAP成都, 在學校期間只有幾個月的ABAP實習的項目經歷,但是通過她的努力以及組內其他老同事的幫助,她現在已經成為了一名合格的Java和JavaScript開發人員)
在此基礎上,我也做過一些簡單的練習,比如開發一個Fiori應用,將其部署在SCP上,並且能夠訪問另一臺On premise服務器上的數據: Deploy your web application to SAP Cloud Platform which can access resource from On-Premise ABAP system
當然您也可以選擇其他的雲平臺運行您的Fiori應用,如百度雲,阿裏雲,以及國外的雲平臺例如Heroku上: Step by step to host your UI5 application in Heroku
您甚至可以將您的Fiori應用部署並運行在github上, 雖然github的本來用途並不是這個 :)
Use GitHub Pages to host your OpenUI5 app
順便說一句,不知道大家讀過阮一峰的這篇文章沒: 搭建一個免費的,無限流量的Blog----github Pages和Jekyll入門
在文末的評論區,國內的網友對應不應該用github拿來做存儲代碼以外的事情,引發了激烈的討論。
就我的觀察而言,很多國內前端大牛都選擇了把自己的博客部署在了github上。
值得一提的是SAP Hybris Cloud for Customer, 雖然其後臺仍然基於Netweaver ABAP, 但是C4C的UI應用的部署方式沒有采用本文介紹的方式一,而是本章節正在介紹的方式二。
方式3 打包成平臺原生應用安裝在移動設備上
還是以SAP Hybris Cloud for Customer為例,我們使用Cordova這個開源框架,將開發人員用JavaScript+HTML開發好的Fiori應用打包生成iOS, Android和Windows Phone對應的安裝包然後安裝到移動設備上。
這就意味著,SAP成都C4C開發團隊的開發團隊,在本地IDE寫完代碼之後,付出了大量的努力來確保我們開發好的功能不僅在PC端各種支持的瀏覽器下能夠正常工作,同時在C4C支持的iOS, Android和Windows phone設備上依然能夠正常工作。
盡管我們設計了非常完備的單元測試來覆蓋我們開發的功能,為了嚴格確保我們發布的產品質量,在移動設備上我們也有大量的人工測試。
因此,萬一您在使用C4C的時候遇到一些這樣那樣的問題,麻煩您給C4C對應模塊報incident, 但是不要因此懷疑我們為了確保產品質量而付出的這些心血。
如果您已經開發好了Fiori應用,想裝到您的手機上玩一玩,可以參考我的博客:
Step by step to package a Fiori application into your Android device using Cordova
如果您的Fiori應用想訪問手機設備上的一些只有手機原生操作系統才能提供的功能,那麽您可以參考我的博客Step by step to create a custom Cordova plugin for Android and consume it in your UI5 application
上面這篇博客以Android平臺開發為例做了Cordova自定義插件的開發介紹:我在Android平臺用Java實現了一個自定義的Cordova插件,然後在Fiori應用裏消費這個自定義插件。
既然涉及到插件的開發,不可避免地就會遇到調試問題。我的這篇博客以Android studio為例描述了基於Java的自定義插件的調試步驟。
How to debug UI5 application packaged into a mobile device via Cordova with a custom plugin
要獲取更多Jerry的原創技術文章,請關註公眾號"汪子熙"或者掃描下面二維碼:
SAP Fiori應用的三種部署方式