重磅發(fā)布-通過低代碼開發(fā)平臺實現(xiàn)一個基礎(chǔ)業(yè)務(wù)功能(低代碼開發(fā)平臺介紹)
注:本文對遠行發(fā)布的低代碼平臺核心功能進行了詳細說明和介紹。建議閱讀前先閱讀本頭條號上已經(jīng)發(fā)布的關(guān)于低代碼平臺規(guī)劃和架構(gòu)設(shè)計思想的一些文章。
低代碼開發(fā)平臺概述
對于低代碼開發(fā)平臺,我在前面發(fā)布過多篇文章對整體的規(guī)劃,架構(gòu)設(shè)計,建模思路進行了詳細的描述,也說明了為何需要構(gòu)建一個面向企業(yè)級應(yīng)用的低代碼開發(fā)平臺。
當(dāng)前有很多提供低代碼開發(fā)平臺的服務(wù)商,各家的方案或整體架構(gòu)雖然有差異,但是本質(zhì)的內(nèi)容基本還是一致,即一切皆是可配置,可建模的??梢栽O(shè)想下開發(fā)一個簡單功能的過程,基本也就是數(shù)據(jù)庫表設(shè)計,前端界面設(shè)計,編寫邏輯層代碼和接口實現(xiàn)業(yè)務(wù)規(guī)則,掛接流程引擎實現(xiàn)流程,配置功能和數(shù)據(jù)權(quán)限等。
對于低代碼平臺,核心就是建模,因此我們的低代碼平臺本身也是圍繞對象建模,表單建模,流程建模,權(quán)限建模,規(guī)則建模等展開的。
對于低代碼開發(fā)平臺的構(gòu)建不僅僅是采用微服務(wù)開發(fā)框架,更加重要的是符合當(dāng)前主流的中臺和微服務(wù)架構(gòu)思想。
因此遠行科技的低代碼開發(fā)平臺不是走零代碼開發(fā)的思路,而是真正的基于模型驅(qū)動和SOA架構(gòu)思想,允許少量代碼開發(fā)和融合。
其核心思想是:
- 低代碼開發(fā)的小應(yīng)該應(yīng)該是一個個獨立的微服務(wù)
- 應(yīng)用的構(gòu)建進一步貫徹SOA分層構(gòu)建的思路,通過服務(wù)層解耦
- 低代碼開發(fā)應(yīng)該是模型驅(qū)動的,這個模型核心是對象和數(shù)據(jù)模型
低代碼平臺實現(xiàn)開發(fā)完成的應(yīng)用可以導(dǎo)出源代碼,可以脫離平臺獨立部署等核心能力。低代碼平臺不是零代碼,因此在架構(gòu)低代碼平臺的時候仍然包括了通過API來擴展規(guī)則的能力,即對于復(fù)雜規(guī)則的實現(xiàn)可以自己編寫Rest API接口,并在表單建模的前端進行引用。
遠行低代碼平臺本身又基于遠行PaaS技術(shù)服務(wù)平臺,實現(xiàn)各種技術(shù)服務(wù)能力的下沉和統(tǒng)一提供。對于企業(yè)整體的IT架構(gòu)規(guī)劃來說,這個里面有一個重點就是底層的技術(shù)支撐平臺建設(shè)。這個技術(shù)支撐平臺包括了諸多的內(nèi)容,如下:
- 容器云的底層資源池和資源調(diào)度中心
- 消息,緩存,文件等各種技術(shù)服務(wù)組件
- 門戶 4A 流程引擎的基礎(chǔ)共性平臺
- 共性平臺和技術(shù)服務(wù)組件的API能力開放和集成
- 微服務(wù)開發(fā)框架和環(huán)境
- 微服務(wù)治理和監(jiān)控運維平臺
低代碼開發(fā)最終完成的就是一個個的微服務(wù)應(yīng)用,這個微服務(wù)本身需要有底層平臺能力,后端的管控治理能力做支撐。而這些能力都由PaaS服務(wù)平臺提供統(tǒng)一支撐。
我們的低代碼平臺本身基于多租戶架構(gòu),可以實現(xiàn)組織級,應(yīng)用級的租戶隔離和數(shù)據(jù)隔離能力,完全滿足企業(yè)級多應(yīng)用開發(fā)和發(fā)布的需求。
建議閱讀本文前先閱讀如下文章。
低代碼開發(fā)平臺需要解決的核心問題-服務(wù)編排和規(guī)則引擎
重磅預(yù)告-遠行發(fā)布企業(yè)級低代碼開發(fā)和PaaS自服務(wù)平臺
企業(yè)級低代碼開發(fā)平臺-架構(gòu)規(guī)劃和實踐思考總結(jié)
低代碼開發(fā)平臺核心功能說明
在這里,還是簡單舉一個業(yè)務(wù)場景來說明產(chǎn)品的一些核心功能,比如我們當(dāng)前需要構(gòu)建一個OA系統(tǒng),并在該系統(tǒng)中創(chuàng)建一個請假申請單,請求申請需要配置工作流引擎,需要支持請假單的新建,走流程審批,單據(jù)的查詢等基本能力。
第一步-創(chuàng)建應(yīng)用
一個應(yīng)用是由若干張新建表單和報表組成的業(yè)務(wù)管理系統(tǒng),也可理解為一個包含各種表單和儀表盤,具有一定功能的系統(tǒng)。就像一個工廠,是由不同的生產(chǎn)線共同組成的。不同的應(yīng)用可以構(gòu)成大大小小不同的業(yè)務(wù)管理系統(tǒng),應(yīng)用與應(yīng)用之間還可以相互關(guān)聯(lián)。
所以首先需要創(chuàng)建一個獨立的應(yīng)用,進入低代碼平臺系統(tǒng),點擊【新增】按鈕,選擇【創(chuàng)建空白應(yīng)用】如圖;進入創(chuàng)建空白頁面,輸入名稱和系統(tǒng)圖標(biāo),點擊【提交】,即可。
當(dāng)前低代碼平臺支持直接創(chuàng)建一個空白應(yīng)用,也支持對模板創(chuàng)建或復(fù)制來創(chuàng)建一個新應(yīng)用,還支持個性化應(yīng)用的定制創(chuàng)建。
第二步-為應(yīng)用創(chuàng)建菜單并授權(quán)
在應(yīng)用創(chuàng)建完成后,接著就需要在應(yīng)用中創(chuàng)建功能菜單,比如我們規(guī)劃了兩個功能。
- 請假單創(chuàng)建
- 請假單模糊查詢
那么就需要通過菜單管理功能創(chuàng)建兩個獨立的功能菜單。
在菜單創(chuàng)建完成后,還需要對菜單進行功能級授權(quán)。當(dāng)前對于功能菜單授權(quán)是授權(quán)到角色,在任何一個應(yīng)用創(chuàng)建后,平臺都默認生成了三種角色,即:
- 系統(tǒng)管理員
- 系統(tǒng)設(shè)計人員
- 系統(tǒng)通用人員
系統(tǒng)管理員擁有最大的所有權(quán)限,系統(tǒng)設(shè)計人員可以使用低代碼平臺中的類似對象建模,表單建模等各種設(shè)計功能。而系統(tǒng)通用人員則只能使用低代碼平臺創(chuàng)建和生成的業(yè)務(wù)功能。
注意在一個結(jié)合4A和門戶的多租戶架構(gòu)系統(tǒng)中。
授權(quán)包括了應(yīng)用授權(quán)和應(yīng)用內(nèi)功能授權(quán)兩個獨立部分。對于應(yīng)用授權(quán)本身是在4A或門戶中完成的,重點是確定哪些用戶可以使用新開發(fā)的業(yè)務(wù)應(yīng)用。
而應(yīng)用里面本身又具體通過配置產(chǎn)生的業(yè)務(wù)功能菜單,對于業(yè)務(wù)功能菜單的功能級授權(quán)則是在應(yīng)用內(nèi)完成。但是只有通過了應(yīng)用授權(quán)的用戶,才能夠在系統(tǒng)內(nèi)進行進一步的細粒度授權(quán)。
遠行的低代碼平臺本身是和底層技術(shù)平臺的公共4A引擎完整集成的。
第三步-創(chuàng)建業(yè)務(wù)對象
在前面已經(jīng)談到,我們的低代碼平臺是對象模型驅(qū)動的,因此創(chuàng)建業(yè)務(wù)對象是整個低代碼開發(fā)中的一個關(guān)鍵點。
對于業(yè)務(wù)對象的創(chuàng)建,重點是屬于業(yè)務(wù)對象的命名,編碼,描述等基本信息,然后是輸入各個字段屬性信息。手動創(chuàng)建對象屬性會自動生成8個默認基礎(chǔ)字段,建議可以保留不必更改。數(shù)據(jù)展示方式:支持列表和樹形結(jié)構(gòu)。
業(yè)務(wù)對象本身是一個多層的復(fù)合結(jié)構(gòu),即主表下面可以掛接子表,子表下面也可以進一步掛接子表等。
在業(yè)務(wù)對象創(chuàng)建完成并經(jīng)過系統(tǒng)校驗無誤后,平臺會自動向底層生成相應(yīng)的數(shù)據(jù)庫表和數(shù)據(jù)表之間的主鍵外鍵關(guān)系信息。
業(yè)務(wù)對象本身支持分類,可以將不同業(yè)務(wù)對象進行分類以方面管理。
對象建模是低代碼開發(fā)平臺中最核心的一個功能,對于表單建模,規(guī)則建模,流程建模等其它功能都需要圍繞對象建模而展開。
其次業(yè)務(wù)對象建模功能起到很好地承上啟下的作用。向下是可以自動生成數(shù)據(jù)庫表和對象,向上則是可以生成各種API接口能力供前端表單功能實現(xiàn)調(diào)用。
第四步-表單建模和自定義表單
表單建模是低代碼開發(fā)平臺另外一個重要內(nèi)容。
注意當(dāng)前低代碼平臺有兩種做法,一種是直接進行表單建模,然后通過表單去自動化生產(chǎn)數(shù)據(jù)庫表。而我們的低代碼平臺則是先進行對象建模,通過對象建模來實現(xiàn)前端表單和后端數(shù)據(jù)庫對象之間的解耦。
因此當(dāng)你在新創(chuàng)建一個表單的時候需要先關(guān)聯(lián)一個業(yè)務(wù)對象。
在綁定好業(yè)務(wù)對象后,再填寫一下表單名稱,樣式等基礎(chǔ)信息后可以進入到表單可視化設(shè)計界面。該界面支撐上50種常用表單控件,可以靈活地進行拖拽式可視化設(shè)計。
在表單創(chuàng)建完成后,可以直接點擊右上的預(yù)覽按鈕對表單進行可視化預(yù)覽。
注意這個時候你創(chuàng)建的表單并沒有和前面應(yīng)用配置的功能菜單進行綁定,因此你還需要進行表單功能和菜單之間的綁定操作,如下。
在綁定完成后,最終用戶進入到OA系統(tǒng),就能夠看到創(chuàng)建請假單功能,點擊該功能就會自動鏈接到我們前面可視化設(shè)計的請假單這個自定義表單上面。
在表單設(shè)計過程中,當(dāng)前平臺支持對表單和表單控件各種屬性的定義和配置,包括各種參考完整性約束規(guī)則的配置等。
第四步-表單掛接工作流
注意當(dāng)前遠行的工作流引擎本身就是一個PaaS平臺的公共技術(shù)服務(wù)能力。對于該工作流引擎的能力在這里不再展開描述。
要進行表單掛接流程。首先還是需要在流程平臺通過流程建模功能創(chuàng)建一個獨立的流程模板,其次才是將表單建模中創(chuàng)建的表單和工作流模板進行綁定。
完成表單新增后,進入流程表單配置界面,首先是要新增并選擇一個流程模板,實現(xiàn)兩者的綁定,然后再進入到全局流程配置和審批節(jié)點配置。
在全局配置界面重點是實現(xiàn)和業(yè)務(wù)對象的綁定。
在審批節(jié)點配置界面,重點是實現(xiàn)在審批節(jié)點個性化表單界面的展示。也就是平臺支持不同的審批節(jié)點現(xiàn)實不同的表單界面。當(dāng)然如果你的審批流程全部都是簡單的通過不通過這種,則不需要在審批節(jié)點界面進行詳細配置。
注意當(dāng)一個可視化設(shè)計的表單綁定了工作流模板后,那么在表單創(chuàng)建界面上會自動增加一個提交按鈕,當(dāng)用戶點擊提交按鈕時即啟動了整個工作流實例。
第五步-模糊查詢功能實現(xiàn)
數(shù)據(jù)集類似視圖,是一種只讀的數(shù)據(jù)對象。在實現(xiàn)模糊查詢功能前,平臺引入了數(shù)據(jù)集和視圖的概念。即首先需要將業(yè)務(wù)對象配置為一個數(shù)據(jù)集視圖,基于該視圖再來實現(xiàn)模糊查詢。
因為視圖本身可以關(guān)聯(lián)多個業(yè)務(wù)對象或數(shù)據(jù)表,因此通過構(gòu)建視圖的方式來實現(xiàn)模糊查詢能夠更多地滿足多表關(guān)聯(lián)的查詢場景。
對于數(shù)據(jù)集的創(chuàng)建,平臺既支持將單業(yè)務(wù)對象或單數(shù)據(jù)表直接發(fā)布為數(shù)據(jù)集,也支持自己編寫多表關(guān)聯(lián)的SQL語句,并將SQL語句發(fā)布為數(shù)據(jù)集。
在數(shù)據(jù)集創(chuàng)建完成后,我們進入到查詢類表單制作功能去進行查詢表單制作。
查詢類表單制作首先要選擇一個數(shù)據(jù)集, 選擇后系統(tǒng)會自動生成動態(tài)查詢表單界面。
在該字段中,我們可以對查詢字段,列表顯示的字段進行詳細的配置功能。
- 過濾條件:支持配置列表數(shù)據(jù)過濾規(guī)則,多種條件進行組合。
- 排序字段:支持配置按指定字段進行排序,可選升序或降序。
- 分頁功能:支撐對分頁功能進行配置。
通過該配置可以實現(xiàn)一個完全滿足業(yè)務(wù)場景功能需求的模糊查詢功能。
再下一篇文章中講繼續(xù)介紹通過前端自己編寫JS代碼或者調(diào)用已有的API接口服務(wù)來實現(xiàn)業(yè)務(wù)校驗和服務(wù)業(yè)務(wù)規(guī)則。