工作流引擎的介紹
工作流引擎的介紹
以前都不知道工作流引擎,最近接觸到這個名詞,所以做了一個簡單的檢索和學習,記錄一下。
提綱
1、工作流的概念
2、Java領域常用的工作流引擎
1、工作流的概念
================
以請假為例,現在大多數公司的請假流程是這樣的:
員工打電話(或網聊)向上級提出請假申請->上級口頭同意->上級將請假記錄下來->月底將請假記錄上交公司->公司將請假錄入電腦。
采用工作流技術的公司的請假流程是這樣的:
員工使用賬戶登錄系統->點擊請假->上級登錄系統點擊允許。
就這樣,一個請假流程就結束了。
有人會問,那上級不用向公司提交請假記錄?公司不用將記錄錄入電腦?答案是:用的。但是這一切的工作都會在上級點擊允許後自動運行!
這就是工作流技術。
從上面的例子,很容易看出:
工作流系統,實現了工作流程的自動化,提高了企業運營效率、改善了企業資源利用率、提高了企業運作的靈活性和適應性、提高了量化考核業務處理的效率、減少了時間的浪費。
而手工處理工作流程,一方面無法對整個流程狀況進行有效跟蹤、了解,另一方面難免會出現人為的失誤和時間上的延時導致效率低下,特別是無法進行量化統計,不利於查詢、報表及績效評估。
2、Java領域常用的工作流引擎
========================
目前Java領域工作流引擎已經好幾個了,jBMP3、jBMP4、jBMP5、Acitivity5、SWF等已經比較成熟了。
1、jBPM3是一個完整的工作流系統實現,面向開發人員,目的在於簡化對組織核心流程進行支撐的軟件創建,不支持標準。
2、jBPM4引入PVM,使其擁有更強大的擴展性,同時增加BPMS特性,這些特性包括了對BPMN的支持、面向業務人員的Web建模器和簡單統計分析功能的加入。
3、jBPM5基於原先的Drools Flow,支持BPMN,通過與Drools的合並支持BAM,通過內容倉庫增加對流程可視化的支持。由於放棄了jBPM4的PVM,引擎的可擴展性受到損害,並且不再支持jPDL。
4、Activiti5基於jBPM4的開源工作流系統,與Alfresco的集成增加了其流程可視化與管理能力,同時通過創新的Activiti Cycle協作組件支持流程相關人員之間的協調,最後,它加強了集成能力。
5、SWF與其說是工作流引擎,不如說是分布式計算調度框架,SWF中只包括Task和History兩部分,甚至是每個Task之間如果要傳遞一些數據的話,都只能通過第三方存儲(比如Message Queue或者Redis),不過這也給了編程更大的靈活性,問題是這種靈活性是不是非常需要。
參考資料:
1、三分鐘了解Activity工作流引擎,https://blog.csdn.net/fafa211/article/details/79297305,了解工作流的概念,通過例子理解了工作流
2、幾大工作流引擎對比,https://blog.csdn.net/u012867699/article/details/78866880?utm_source=debugrun&utm_medium=referral,知道了目前java領域的jBPM3、4、5、Acitivity5、SWF
3、哪家工作流軟件好,https://www.cnblogs.com/expert/p/3844581.html
4、http://blog.sina.com.cn/s/blog_53da0d780100t76r.html,讀了
工作流引擎的介紹