Jerry之前曾經陸續寫過一些文章,介紹SAP各種開發工具和開發平台:
- 那些年我用過的SAP IDE
- SAP智能機器人流程自動化解決方案
- 如何使用SAP Intelligent Robotic Process Automation自動操作Excel
- SAP新一代全棧開發工具:SAP Business Application Studio
羅列了這麼多開發工具和平台之後,Jerry突然有點懷念自己十多年前剛加入SAP的日子。那個時候,筆記本電腦上安裝一個SAPGUI,幾乎就能完成日常工作的所有開發任務了。
今天我們來簡單了解SAP雲平台上的快速應用開發(Rapid Application Development,簡稱RAD)解決方案,以及Mendix,西門子旗下重要一員,在Low Code Development(低代碼開發)領域處于上司者地位,其代表作Mendix Studio Pro.
所謂低代碼開發平台/工具,是指無需編碼或僅需很少代碼(No Code or Low Code)就可以快速生成應用程式的平台/工具,通常提供可視化的互動界面來快速搭建應用界面,設計資料模型,建立應用業務邏輯和工作流等。
低代碼開發平台對使用者的技術要求大大低于傳統軟體開發項目中的程式員。随着企業數字化轉型浪潮的深入進行,特别是中小型企業資訊數字化的呼聲越來越高,使用低代碼開發平台能夠在短時間内快速建構出應用程式的架構,傳遞給客戶使用,并根據客戶回報進行快速疊代,是以在企業數字化轉型特别是中小企業資訊化建設項目的開發方式中占有重要的一席之地。
正由于低代碼開發平台在企業應用開發中能發揮其獨特的優勢,使得許多軟體供應商紛紛涉足于這一領域,比如SAP智能機器人流程自動化解決方案之一的SAP Intelligent Robotic Process Automation Desktop Studio這個開發工具, 也能被看作是低代碼開發工具之一。
Jerry在之前的文章 如何使用SAP Intelligent Robotic Process Automation自動操作Excel 裡曾經介紹過其用法。
而SAP雲平台上的RAD解決方案,也內建了低代碼開發領域的上司者,來自Mendix提供的開發工具Mendix Studio Pro. 從Gartner釋出的2019年企業級低代碼開發平台的評測報告,我們可以看到Mendix處于魔力象限中的Leaders(上司者)區域。
下面我們就來嘗試一下,使用SAP Cloud Platform上的Rapid Application Development,結合Mendix Studio Pro來開發一個Fiori應用,以隻讀的方式顯示OData服務提供的資料,從中了解所謂的低代碼開發同使用SAP WebIDE的開發體驗有何不同。
登入SAP Cloud Platform:
https://account.hana.ondemand.com/#/home/serviceCatalog找到RAD by Mendix服務:
進入服務頁面,點選Sign in with SAP, 使用SAP雲平台的credential資訊登入。
登入之後點選Create App:
選擇建立應用基于的模闆。用過SAP WebIDE建立Fiori的朋友們可能會發現,這個模闆選擇和WebIDE裡的Create from Template功能非常相似。
選擇上圖高亮的具有SAP Fiori設計風格的應用模闆,建立一個新應用:
同WebIDE裡建立Fiori應用一樣,選擇好模闆之後,工具會自動建立很多應用相關的資源檔案。
接下來選擇一個SAP Cloud Platform的Region, 在本文最後我們将使用Mendix Studio Pro直接将一個開發好的應用部署到SAP雲平台。
我建立好了一個空的應用JerryHelloWorldProject,在Edit App裡提示,可以使用Mendix Studio Pro進行應用開發。
從Mendix的官網免費下載下傳這個開發工具:
https://appstore.home.mendix.com/index.html安裝之後,點選Edit in Mendix Studio Pro:
回憶一下,用SAP WebIDE建立Fiori應用,我們得指定一個OData服務作為資料源,要麼是把OData中繼資料下載下傳成本地檔案,導入到WebIDE裡;要麼直接把OData服務的中繼資料url設定到WebIDE的建立向導裡。
Mendix Studio Pro裡的建立步驟也類似。先把OData服務的中繼資料下載下傳到本地,儲存成一個xml檔案。使用Mendix為SAP量身打造的SAP OData Model Creator,将這個xml檔案導入:
SAP OData Model Creator是一個線上應用:
https://sapodatamodelcreator.mendixcloud.com/它會解析xml裡包含的OData中繼資料,提取出OData服務的名稱GWSAMPLE_BASIC和明細資訊,并轉換成Mendix Studio Pro能夠識别和導入的mpk格式的檔案:
SAP OData Model Creator生成mpk檔案之後,下載下傳到本地,就可以導入到Mendix Studio Pro裡了。
導入mpk之後,生成的Mendix Studio Pro能夠識别的OData模型如下圖。這個例子我選擇顯示OData服務傳回的Sales Order資料。
Jerry這個例子的業務邏輯很簡單,發送OData服務請求,擷取到資料後顯示在Fiori頁面。
像這種單線的順序業務邏輯,可以封裝在Mendix Microflow裡。建立一個Microflow,命名為GetSalesOrder:
Microflow建立好之後,呈現在編輯界面裡是一根直線,綠色和紅色端點分别代表業務流程起點和終點。
這個編輯界面和SAP Cloud Platform上的iFlow編輯頁面很像。大家可以把這個Microflow類比成SAP Cloud Integration裡的iFlow.
從右鍵菜單裡選擇Insert->Activity:
選擇SAP OData Connector下面的Create request params,代表這個Microflow的第一個步驟是發送OData服務請求。
将該請求命名為JerryRequestParams:
通路SAP OData服務需要使用Basic Authorization進行認證,是以添加第二個Activity,類型為Add basic Authorization:
在工程裡建立兩個常量ES5UserName和ES5Password,把通路SAP OData服務需要使用的使用者名和密碼維護在常量裡:
然後在basic Authorization activity裡使用這兩個常量:
添加第三個Activity,類型為Get list. 這一步的含義當然就是發起實際的OData請求了:
指定Microflow結束事件所傳回的類型為List,Entity為OData服務裡的SalesOrder模型。
Microflow開發完畢後,意味着這個應用的業務邏輯的設計已經告一段落了,剩下的是處理前台界面。建立一個頁面,布局類型從下拉菜單裡選擇Fiori_MasterDetail:
點選OK之後,我們得到一個Master-Detail布局的模闆頁面,剩下的事情就是對這個模闆進行微調,比如調整字型,修改标題,決定哪些字段應該顯示或者隐藏等等。
從開發面闆右邊的SalesOrder清單裡挑選自己想展示的字段,拖拽到左邊的頁面編輯區域即可。資料綁定都是自動完成的,無需手動幹預。
下圖代表我選擇在應用左邊的Master List裡顯示三個字段:Customer ID,Customer Name和Created At.
右邊的明細頁面,我選擇顯示Sales Order ID,Currency Code和Gross Amount三個字段。
點選Run Locally, 本地運作應用:
效果如下圖所示:
如果選擇Run,因為之前最開始在Mendix Studio Pro裡設定過SAP Cloud Platform的Region資訊,是以會自動将該應用部署到SAP雲平台運作:
從這個簡單的例子能發現,Low Code Development這種理念,在SAP開發領域裡其實并不是一個新鮮事物,比如SAP WebIDE裡建立Fiori應用提供的大量模闆,以及Fiori Elements理念本身,背後都展現了對開發細節和複雜度的封裝,進而降低工具的技術使用門檻。
另一方面,我個人認為,Low Code Development的Low絕不應了解成“低等”,“低級”——這些精心設計過的低代碼開發平台,能夠把普通人覺得很深奧很難于了解的概念封裝起來,轉換成非專業程式設計人員通過簡單的學習後也能接受的實體,進而擴大了工具的使用群體,這本身就是一件很了不起的事情。
從應用建立向導裡可供選擇的衆多應用類型就可以看出,Mendix Studio Pro的強大功能,遠不止本文介紹的這一點點内容。特别是Mendix為SAP“私人訂制”了一系列富有SAP特色的應用模闆,感興趣的朋友們可以從Mendix官網下載下傳,一探究竟。
希望本文能夠讓大家對SAP Cloud Platform上的Low Code Development解決方案有一個基本了解,感謝閱讀。
本文來自雲栖社群合作夥伴“汪子熙”,了解相關資訊可以關注微信公衆号"汪子熙"。