Snaker官網 :http://snakerflow.com/
截止2014年12月15日星期一 最新版本2.4.0
Snaker是一個基於Java的開源工作流引擎,適用於企業應用中常見的業務流程。本着輕量、簡單、靈巧理念設計,定位於簡單集成,多環境支持
輕量:核心代碼行數大約7000行,強大的擴展性,支持Spring、Jfinal、Nutz平臺級框架;支持Jdbc、SpringJdbc、Hibernate3or4、Mybatis等orm框架
簡單:表設計簡單,流程組件簡單[start/end/task/custom/subprocess/decision/fork/join]
靈巧:暴露大量可擴展接口,支持流程設計器、流程引擎的組件模型自定義[節點自定義、屬性自定義、表單自定義]
開源協議:Apache License Version 2.0
源碼地址: github:
流程引擎: snakerflow:https://github.com/snakerflow/snakerflow
演示應用(Spring): snaker-web:https://github.com/snakerflow/snaker-web
Eclipse插件:
https://github.com/snakerflow/snaker-designer
oscgit:
snakerflow:http://git.oschina.net/yuqs/snakerflow
snaker-web:http://git.oschina.net/yuqs/snaker-web
文檔 : http://snakerdoc.jd-app.com/
流程和表單web設計器 Ueditor Formdesign
入門:http://snakerflow.github.io/quickstart.html
百度網盤:http://pan.baidu.com/s/1hqza8BU
http://pan.baidu.com/s/1sjv2KbV
version 2.4.0
1、數據庫方言自動適配,取消snaker.xml中的方言配置
2、支持JFinal1.9,可以合併jfinal與snaker的屬性文件
3、支持已結束流程實例、任務的喚醒
4、修復sqlserver+jdbcAccess整合出現的getParameterMetaData不支持bug
version 2.3.0
1.增加已完成實例、任務的喚醒功能
2.流程引擎初始化允許加載自定義屬性
3.測試基類允許子類重新實現getEngine方法
4.節點模型增強,getNextModels方法可獲取後續指定類型的集合
version 2.2.0
1.抄送記錄增加抄送時間、已閱時間
2.任務、實例完成時增加處理動作
3.實例查詢增加根據流程名稱模糊匹配號
4.修復會籤多人蔘與的bug
version 2.1.1
1.在snaker-spring子模塊中增加spring的測試用例
2.修復子流程的後續任務parentTaskId爲start的問題
3.修復springjdbc的getLatestProcessVersion返回默認0的版本號
version 2.1.0
1.IOrderService支持增加全局變量方法addVariable
2.增加抽象類Assignment支持讀取所屬的任務模型
3.BUG:駁回的canReject方法存在算法問題
version 2.0.0
1.snakerflow重新規劃,將第三方擴展支持以獨立子模塊發佈
2.支持自動初始化腳本,只需要用戶創建一個數據源即可
3.支持Web自定義表單、eclipse插件自定義表單[未體現在snaker-web演示項目中]
4.流程web設計器增強,支持綁定自定義表單、支持選擇參與者
5.流程狀態圖增強,支持單擊活動節點顯示處理人,抵達時間,並且可動態添加參與者
6.增加jfinal支持,事務可統一由jfinal控制
7.增加nutz支持,事務可統一由nutz控制
8.增強:
TaskService增加根據taskId獲取TaskModel的api
Order實體的orderNo支持由map傳遞運行時數據(key:SnakerEngine.ID)
增加IReminder接口,用於超時提醒
TaskModel增加表單自定義的模型FieldModel,由表單設計器插件定義表單
version 1.5.1
1.BUG修復:設置assignmentHandler屬性無效
version 1.5.0
1.增加任務轉派功能
2.增加任務主辦、協辦功能
3.增加流程實例抄送功能
4.重構ServiceContext,自適應Spring的bean、snaker.xml中配置的bean,以及用戶自定義獲取bean的方式
5.重構order、task的變量獲取方式,方便與模板語言整合
6.流程定義增加類別、創建人、創建時間字段
version 1.4.1
1.流程定義的編碼格式由GBK->UTF-8
version 1.4.0
1.時限控制:任務超時提醒、流程實例超時提醒,任務自動執行
2.支持任務委託代理
3.代碼重構
version 1.3.0
1.增加對流程表原生SQL的查詢nativeQuery...()
2.增加Cache機制,支持單個虛擬機環境的內存cache以及ehcache
3.動態添加參與者方法engine.task().addTaskActor()支持performType參數
4.流程定義支持多版本,如根據name啓動流程,默認啓動最新版本
5.增加postgresql數據庫的schema及dialect.需要調整bytea類型處理
6.wf_process表刪除query_sql、parent_id字段,並且name字段刪除唯一性約束
7.代碼重構
8.bug:流程重新部署redeploy方法中的save->update
9.bug:mybatis的updateProcess配置sql中刪除query_url字段
10.bug:dbAccess的updateProcess方法參數問題修復
11.bug:分頁查詢sql語句引用問題
version 1.2.6
1.增加QueryFilter查詢過濾類,增強IQueryService的查詢api
version 1.2.5
1.流程定義業務類調整,去除update方法。統一使用deploy部署、更新
2.bug:join節點的合併規則問題修復
3.代碼重構
version 1.2.4
1.去除@override註解
2.降低dbcp、dbutils依賴庫的版本適應jdk5
3.jdk5依賴調整
4.測試用例以snaker-example項目獨立
version 1.2.3
1.提高服務上下文ServiceContext方法的可見性
2.增加SpringHelper幫助類適應低版本spring
3.調整Spring的api以適應低版本spring
4.升級流程設計器插件snaker-designer-1.3.0
5.代碼重構
version 1.2.2
1.增加spel的表達式支持.與spring整合時,默認使用spel解析器
version 1.2.1
1.支持自定義表達式引擎實現。默認使用juel引擎
2.刪除bsh表達式引擎的依賴
3.刪除ExprHelper幫助類
4.改造decision的測試用例
version 1.2.0
1.Task模型增加assignmentHandler屬性,通過實現AssignmentHandler接口支持編碼設置參與者
2.刪除流程定義僅更新狀態state,物理數據不刪除
3.支持所有節點模型的前置、後置攔截器
4.bug:mybatis相關問題修復
version 1.(0/1).*
首次提交,實現基本功能:
1.支持常規業務流程邏輯[直流、選擇分支、並行、子流程、會籤、任意流]
2.支持駁回、任意回退、撤回、加減籤
3.支持Spring環境下的依賴管理
4.支持以下orm框架:jdbc+dbutils、mybatis、hibernate、springjdbc
5.支持以上orm框架的事務管理以及JTA事務管理