關於工作流引擎的設計討論

2021-09-03 03:42:09 字數 962 閱讀 8499

說點我個人看法哈,一家之言,不一定準確,歡迎批評。

這個排程,我的理解還是根據一定的許可權規則,以及流程定義,把工作流的報文按順序傳遞給相關人員審閱,並兼顧異常事件查詢等工作。

我覺得簡單來說,就是根本不設計,系統不夠大的時候,流程很簡單的,資料庫中乙個順序表就好了,server檢索表,將文件按順序走一遍就好了。

不過複雜來說,系統夠大,流程夠多,還是需要一點設計的,不過,這個設計,從開發角度上講,最多是提供使用者二次修改流程的手段而已,因為程式設計師永遠沒有辦法替使用者規定流程的。因此,還是不要設計,僅僅是把系統做活點,讓使用者可以自己規定流程就好了,比如前例,將表的修改權發放給某個管理員,或者做個介面,讓管理員可以修改流程就好了。

當然,如果流程較為複雜,狀態夠多,僅僅利用表儲存信令實現資料驅動,可能不好處理。另外,出於某些商業考慮,可能不希望使用者自行掌握流程的製造方法,那就變成一次生意了,呵呵。

那也簡單,server端規定一套流程錄入的api,規定以某個指令碼語言(如php)來書寫流程模組,任何時候改流程,則請程式設計師按照api重新寫一套流程**就好了。

當然,出於降低維護成本起見,這個修訂最好可以是遠端的,這就用到npi了,就是規定一套網路介面,可以遠端把流程模組登入到server上,server下次業務自動啟用。

我想,只要能做到這幾部,其實流程具體怎麼規定,讓使用者去撓頭吧,我們不要管,也管不好。

嗯,至於說到排程演算法,可能有時候還有個效率考量,這個問題,我認為根本不是問題,server基於apache+mysql開發,使用指令碼語言驅動,一般幾千人的公司,都使用ie訪問,應該不慢的。沒必要為這個點單獨做優化,實在要優化,也不要做程式優化,mysql裡面建立幾個事務,做幾個index,可能效果更好。

有點類似遊戲界裡面的遊戲控制指令碼。

先做什麼,滿足什麼條件,然後哪個場景上出現什麼情況。

也可以亂序,場景僅僅檢查n個條件是否滿足,不關心滿足順序,這在rpg中比較常見。

用指令碼語言是個不錯的選擇。

工作流引擎設計

工作流引擎設計 entworkflow 工作流主表 name code type isnull 主鍵entworkflowid intnot null 工作流名稱 workflowname varchar 50 not null 說明entworkflowobjectname varchar 255...

工作流引擎設計思路

http www.cyanine.cn 編輯 收藏引用 網摘 所屬分類 工作流技術 net開發心得 專案管理 系統設計 自開博以來不斷有朋友來 工作流引擎該如何設計 工作流的資料庫如何設計 應用筐架如何搭建等,這些問題其實都是很難有答案的。開發設計乙個工作流引擎是要能夠幫助客戶營造價值,而不是為了一...

工作流引擎設計思路

開發設計乙個工作流引擎是要能夠幫助客戶營造價值,而不是為了一時興趣實現某些技術特性。工作流管理聯盟 workflow management coalition,wfmc 早已定義了工作流技術的標準體系,但並未指明具體實現的方法。工作流引擎在實現方法上可以基於不同的軟體技術架構,引擎本身應該是與具體業...