當前位置:
首頁 > 最新 > 工作流引擎技術選型

工作流引擎技術選型

Snaker

Snaker是一個基於Java的開源工作流引擎,適用於企業應用中常見的業務流程。本著輕量、簡單、靈巧理念設計,定位於簡單集成,多環境支持輕量:核心代碼行數大約7000行,強大的擴展性,支持Spring、Jfinal、Nutz平台級框架;支持Jdbc、SpringJdbc、Hibernate3or4、Mybatis等orm框架簡單:表設計簡單,流程組件簡單[start/end/task/custom/subprocess/decision/fork/join]靈巧:暴露大量可擴展介面,支持流程設計器、流程引擎的組件模型自定義[節點自定義、屬性自定義、表單自定義]Wiki:http://snakerflow.com/演示應用:http://git.oschina.net/yuqs/snaker-webGITHUB:https://github.com/snakerflow/snakerflow


OpenWebFlow是基於Activiti(官方網站http://activiti.org/)擴展的工作流引擎(國人開發),它擴展的功能包括:

完全接管了Activiti對活動(activity)許可權的管理。Activiti允許在設計model的時候指定每個活動的執行許可權,但是,業務系統可能需要根據實際情況動態設置這些任務的執行許可權(如:動態的Group)。OpenWebFlow完全實現了與流程定義時期的解耦,即用戶對活動的訪問控制信息單獨管理(而不是在流程定義中預先寫死),這樣有利於動態調整許可權,詳見自定義活動許可權管理;

完全接管了Activiti對用戶表(IDENTITY_XXX表)的管理。在標準的工作流定義中,每個節點可以指定其候選人和候選用戶組,但是比較慘的是,Activiti綁架了用戶信息表的設計!這個是真正致命的,因為幾乎每個業務系統都會屬於自己的用戶信息結構(包括User/Group/Membership),但不一定它存儲在Activiti喜歡的那個庫中,表的結構也不一定一樣,有的時候,某些信息(如:動態的Group)壓根兒就不採用表來存儲。OpenWebFlow剝離了用戶信息表的統一管理,客戶程序可以忘掉Activiti的用戶表、群組表、成員關係表,詳見自定義用戶成員關係管理;

允許運行時定義activity!徹底滿足「中國特色」,並提供了安全的(同時也是優雅的)催辦、代辦、加簽(包括前加簽/後加簽)、自由跳轉(包括前進/後)、分裂節點等功能;

支持與致謝

開發者使用幫助:https://github.com/bluejoe2008/openwebflow/wiki

使用手冊與設計說明書(PDF格式)

詳細說明:https://my.oschina.net/bluejoe/blog/1552284#comment-listGITHUB地址:https://github.com/bluejoe2008/openwebflow

jBpm是一個靈活可擴展的工作流管理系統。作為 jBpm運行時server輸入的業務流程使用簡單強大的語言表達並打包在流程檔案中。jBpm將工作流應用開發的便利性和傑出的企業應用集成(EAI)能力結合了起來。jBpm包括一個Web應用程序和一個日程安排程序。jBpm是一組J2SE組件,可以作為J2EE應用集群部署。

JBoss容器下的產品,可能存在兼容性問題,放棄Activiti的作者即是JBPM原作者


Activiti是一個業務流程管理(BPM)和工作流系統,適用於開發人員和系統管理員。其核心是超快速,穩定的BPMN2流程引擎。它易於與 Spring集成使用。用戶指南:http://www.activiti.org/userguide/index.htmlGITHUB地址:https://github.com/Activiti/ActivitiGithub上更新頻率最快:


flowable工作流是Activiti團隊一個分支,從JBPM到Activiti到flowableflowable是一個用Java實現的輕量級業務工作流引擎,兼容activiti支持Spring 、Spring Boot可以部署到任意Java環境,如java SE、servlet容器、如Tomcat或jetty、Java EE 伺服器 如JBoss容器等GITHUB地址:https://github.com/flowable/flowable-engineGITHUB更新頻率

支持的數據:flowable的資料庫名稱都以act_開始。第二部分是對表格用例的兩個字元的識別。這個用例也大致匹配服務API。act_re_ *:代表基礎倉庫。帶有此前綴的表包含靜態信息,如流程定義和流程資源(圖像、規則等)。act_ru_ *:運行庫。這些是運行時表,其中包含進程實例、用戶任務、變數、作業等的運行時數據。流動只存儲過程實例的執行過程中的運行時數據和刪除記錄時,一個流程實例結束。這樣可以使運行時表小而快速。act_hi_ *:歷史庫,代表歷史。這些表包含歷史數據,如過去的流程實例、變數、任務等。act_ge_ *:常規庫,這是用於各種使用案例。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 八一菜刀 的精彩文章:

Node.js應用Linux部署實戰

TAG:八一菜刀 |