對於企業開發中工做流組件的思考與想法

2017年一直在作企業內部的各類業務系統,主要有OA、政府公共服務平臺、企業內部的物料管理系統。這些系統中都牽涉到工做流的應用。在這些項目實施的過程當中沉澱下的一些想法與你們一同分享。html

第一個項目是一個政府公共服務平臺,主要功能是企業在線辦事功能,涉及到企業在線填報單據而後流轉到政府各個部門去審批。對工做流的主要要求:能夠按地區上下級進行人員選擇;有退回功能,各個節點完成後要對更新相關業務表。基於這個需求對市面上的.net工做流進行了不少調研,主要問題有:java

  1. 開源流程引擎(Slickflow)在設計器方面比較弱,不能直接交付給用戶使用。
  2. 商用的工做流考察有f2bpm,功能知足,但對小項目來講受權費有點貴。

最後脫離.net範疇去找,發現java下的開源activiti5 流程引擎,文檔齊全,成功案例也不少,提供http restful接口。最後在其基礎上作了些二次開發完成項目。restful

 

第二個項目是企業的一個物料審批系統,有工做流的需求,但要求不高,不需退回等操做,某一環節審批不經過,直接結束流程便可。固然用activiti5也能夠完成,但對一個小項目來講感受過於重量級了,調用restful接口的話事務處理方面要考慮的事情太多。框架

 

因此誕生了一個想法,寫一個輕量級的可嵌入的工做流組件(不叫框架,由於它完成的事情不多)。本着不重複造輪子的思想,先搜索了一下網上有沒有同類項目。園子裏蕭秦 寫的微型工做流引擎 讓人眼前一亮,惋惜後續沒有更新,也沒有dll放出來讓試用。.net

 

參考前人的經驗,我對這個微型工做流的要求以下:設計

  1. 方便與現有系統集成。
  2. 可共享原系統中的事務; 用戶管理;
  3. 節點處理用戶選擇方法可擴展。
  4. 支持流程中的順序、分支、並行操做。(退回暫不支持)
  5. 簡易但不簡單的流程設計器。

 

對於流程設計器的定義:簡易但不簡單。 咱們不廢話,看一下釘釘上的流程設計器。rest

 

 

 

沒有複雜的拖拽功能,簡單容易操做,面向最終用戶。htm

 

目前這個工做流組件暫定名稱爲CMFlow, 目前引擎部分已完成50%。這裏招集有工做流感興趣,志同道合的兄弟加入開發。爲.net的開源貢獻一份力量。有興趣的朋友加的扣扣: 523656159。blog

 

年後最後一天上班,語言組織有點亂。敬請諒解,對於工做流的想法,你們能夠評論區與我交流。接口

相關文章
相關標籤/搜索