先上個圖: 很多企業內部的應用都需要有個工作流平臺(插件),無奈靈活方便好用且能夠自行更改代碼定製嵌入的實在不多,只好自己動手慢慢搞. 關於自動型活動思考了很久, 決定基於以前的項目經驗, 放棄讓最終客戶能夠配置較複雜的工作流自動條件的想法: 事實上即使是負責定義流程的KBU和領導腦子也是很亂的,畢 ...
先上個圖:
很多企業內部的應用都需要有個工作流平臺(插件),無奈靈活方便好用且能夠自行更改代碼定製嵌入的實在不多,只好自己動手慢慢搞.
關於自動型活動思考了很久, 決定基於以前的項目經驗, 放棄讓最終客戶能夠配置較複雜的工作流自動條件的想法:
事實上即使是負責定義流程的KBU和領導腦子也是很亂的,畢竟人的想法未經代碼驗證和各類狀態圖枚舉前,總是會掛一漏萬.
還不如更貼近懂C#的二次開發實施人員, 結合Roslyn的開源編譯器工程, 讓流程設計器與流程引擎協同工作, 簡單粗暴地使用C#腳本運行的模式完成各類自動條件判斷與流程及業務數據的可控干涉.
做了一個小的測試驗證工程, 除了不能完成代碼智能提示,其他的關鍵效果(能夠使用後端的編譯器做語法檢查, c# 2015的語法結構完全支持,與當初坑爹的WF 1.0的那個簡陋的表達式設計器天壤之別)已經相當好了.
界面正好拿AngularJS 2來試手, 也試了試Redux管理與同步狀態, 確實好用, 跟用JQuery掛事件的思路是不一樣的,難怪ReactJS幾乎標配它.
警告: 目前不是精品, 只完成了總體的40%, 能夠拖拽生成醜醜的流程圖並導入導出json, 很多驗證,與後端的通訊還沒來得及做, 同步開發的工作流引擎的測試樣例也是導出成文本再用Newton.Json解析引入的.
代碼相當亂,探索的過程中引入了各類前端組件,思路是先嘗試完成功能,後期再慢慢歸併進化.
有緣可等待後續的工作流解析引擎, 組織結構管理(企圖支持多視圖組織架構與上下游企業協作)上櫃(目前完成30%, 還不好端出來).