天天看點

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

  

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

  低代碼開發是最近幾年比較火的一個概念,而工作流引擎,表單引擎是好多年以前的産物了。今天我們就聊聊三者之間的關系。

  我是開源馳騁BPM公司的周朋,是流程引擎、表單引擎的愛好者、研發者、探索者。最近看到關于網上流傳低代碼開發的一些評價,有的太偏激、有的太片面結合自己的開發經驗,對上述三個概念闡述一下,抛磚引玉。

  工作流引擎包含組織結構、流程、節點、轉向規則、它類似于一部汽車的控制系統,比如:前進、倒車、刹車、換司機、抛錨處理、到達終點。分别對應流程引擎的:發送、退回、移交、流程結束等操作。

  流程催辦、撤銷、删除、調整、復原等操作也都是流程引擎必備的功能。

  不管采用什麼規則下,什麼規範下開發設計流程引擎,就要把他當作一部汽車設計看待,目前的汽車設計都有輔助駕駛功能,比如:偏移行車線預警,主動刹車,倒車雷達,軌迹檢視等等,随着工作流引擎技術的發展這些功能也展現在系統上,他們是相通的。

  預警:操作一個審批,把風險點提示出來。

  主動刹車:根據一定的條件自動完成流程。

  工作流引擎系統對外提供的是一系列的操作接口,比如:發送,退回,轉發,移交,撤銷等。

  工作流引擎基于一套組織結構體系才能工作、組織體系上的操作者就是執行操作流程的主體。每個節點的從業人員都要落實到人,而非一個部門或者一個崗位,如何設定一個節點從業人員的範圍,是需要抽象出來很多規則。這些規則歸類為兩種:一種是自動計算的,另外一種是手工選擇的。

  工作流引擎有一系列事件:發送前、發送後、發送成功時,發送失敗時,退回前、退回後、流程結束前,結束後。我們可以利用這些事件來表達業務邏輯并實作使用者需求。

事件伴随着消息的産生,比如:發送成功時,就可以定義發送成功消息,推送給相關的接受人或者其他的關注人。這些可以使用消息模版定義他們,推送到第三方的系統中去。

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

  節點在運動的過程中到下一個節點有多個分支,這樣的分支運動,我們分為兩種:一種是自動計算,另外一個是主動選擇。自動計算是根據一些參數,環境變量進行比較計算得出是否成立,如果成立就走這個分支。

  自動計算下的方向條件設定,如下圖支援多種表達式。

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

  手工選擇就是必須由操作者主管的判斷要走哪個分支。如下圖所示:主管的選擇到達多個節點。

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

  節點的類型:有合流、分流、分合流、子線程三種模式(這是以馳騁bpm為例),不同的廠家都有自己的定義。

  概述:工作流引擎其實也是一個規則引擎,它定義流程,執行流程,就是制定規則、解析規則、使用規則的過程。

  1.   表單引擎就是存儲與展現資料的工具,一個表單是由表單模版、表單資料、表單業務規則組成。

  2.   表單模版就是表單内容的描述,是一些表單元素的組合,文本框、下拉框、單選多選按鈕、從表、附件等等。

  3.   表單資料一般以Json對象存儲,加載到各個控件上展現給使用者。

  4.   表單引擎發展到今天,大概有三種發展方向,我們把這三種模式的優劣點概述如下:

  檔案依賴模式:根據表結構,自動生成一個檔案.aspx,htm,或者jsp檔案等等,有一定的資料元素,自動生成增删改查方法。這個發展方向在表單引擎發展初期常見,仍然沒有改變這個模式的慣性,容易了解,容易改造樣式,可以代碼擴充性強。但是缺點也是顯而易見的,不容易維護、離不開開發人員、增加字段、删除字段需要打開檔案操作不能熱操作。對跨平台顯示支援不好,比如:手機、PC、CS模式的适應。

  解析執行模式:表單模式的表單元素與業務邏輯都以關系的模式格式化的存儲到資料庫或者xml,或者json檔案裡。

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

  表單運作的時候需要借助一個解析工具,比如手機端的解析執行器,PC端的解析執行器。這個解析執行器需要接受2個參數,表單id,表單主鍵值。

   

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

    表單的業務邏輯就是,使用者與表單元素,資料的操作行為,比如:下拉框的級聯、控件值的計算、文本框自動完成、單選按鈕控制其他控件的隐藏顯示等等。

    這種模式适用于運作到多個平台,比如:手機端、PC端、pad平台、CS模式。

    

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

    PC端的展現模式:

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

     

    這個模式下的表單設計,需要設計很多規則,要具有很好的抽象性,擴充一個規則需要一定的代碼開發工作量,但是一旦擴充後,就可以批量的應用,對表單設計者的門檻要求低了很多,效率變高了,規範了。

    富文本+解析模式:

    這個模式的表單設計時以來一個富文本編輯器,編輯器的元素有約定的格式,表單的原型是通過可視化的設計器完成,表單的字段規則,業務邏輯規則是存儲到背後的表單模版裡。

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

    運作表單的時候依賴于表單解析執行器完成的,我們以馳騁開發者表單設計器為例來說明,如下圖所示:

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

    流程引擎與表單引擎資料之間的關系:

    就是汽車、車廂、資料之間的關系。流程引擎是車的控制系統、車廂是表單、資料是貨物。

周朋談低代碼開發平台、工作流引擎、與表單引擎之間的關系

    流程的運動,啟動、運作到不同的節點、停止。

    所謂的低代碼開發平台,是能夠解決一個可以直接在背景配置就可以開發出來的基礎的應用,比如:車輛管理系統、用餐系統、學生管理系統。

    完成這些應用,需要:組織結構、菜單權限、流程引擎、表單引擎、報表系統的多方面的支援。

    以車輛管理系統為例:

    1.   需要組織結構系統提供人員、部門、崗位的管理。

    2.   需要菜單系統規劃出來該系統的功能,以及配置設定不同角色的權限。

    3.   需要表單引擎提供車輛基礎資訊的管理。

    4.   需要流程系統提供車輛預定申請。

    5.   需要報表系統提供資料分析。

    綜述:

    1.   一個低代碼開發平台包含組織結構管理,流程引擎,表單引擎,報表體系,菜單管理。

    2.   低代碼開發快捷、所見即所得、立刻能用,并非一些人說的那樣絕對,是什麼毒瘤。

    開源馳騁團隊為國内開發者提供一套完整的,低代碼開發平台、流程引擎、表單引擎解決方案,具有較深的業務沉澱,可以定制絕大部分的應用場景,代碼100%的開源,遵守GPL開源協定免費使用。

    官方網站:http://ccflow.org  

    源代碼下載下傳:http://ccflow.org/down.htm

    為您提供優秀的國産低代碼、工作流引擎、表單引擎解決方案。

繼續閱讀