golang 開發 OA 系統,工作流引擎選型

我想開發一套企業內部使用 OA 系統,使用 golang gin 開發,讓 AI 推薦了幾個流程管理的庫,即工作流引擎。

發現大部分找到的都是 Java Sprint Boot 的實現,但是我還是希望用 golang gin 去實現。畢竟 golang gin 目前用的最順手,也積累了大量的內部功能庫,而且服務器資源佔用低。加上是集團內幾個公司一塊使用,使用現成的開源實現,也達不到要求,估計也很難改。還不如自己基於工作流引擎模塊去自己實現。

但是看了幾個感覺比較複雜。理解成本有點高,例如:

最後,我找了一箇中文的庫,同時包含後端和前端的實現。

後端庫

https://github.com/go-workflow/go-workflow

雖然是 6 年前的項目,而且沒有更新了。但是我感覺可以參考一下。使用 gin 重寫一下。

我主要是看中其中的數據結構說明,及流程說明。而且是中文的比較好理解。

除了 README,還有一處接口說明:

https://github.com/go-workflow/go-workflow/blob/master/EXAMPLE.md

但是這個接口中每次需要傳 userID 是不太合理,存在隱患。

前端庫

看起來是基於 vue2 的前端組件。

爲何選擇這個庫

缺點

目前唯一的擔心是,如果沒有采用 BPMN,以後會不會遇到發現沒有兼容的場景。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/YjJN9CY6Qw30XUNBegprtQ