Snaker開源工作流研究001——簡介

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://formdesign.leipi.org/

 

百度文庫用戶手冊:
http://wenku.baidu.com/link?url=Iua8ZRQG3z04c6uzvqqsH3_Qd8sa9Rt2NGsA0LlhpTadtqxXbA2JivCu6A-dgUH4WDKbs207IwmltMsXoaMcl9qRu4BkFfZYpsM14NMU1nm

入門: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,可以合併jfinalsnaker的屬性文件
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.
修復子流程的後續任務parentTaskIdstart的問題
3.
修復springjdbcgetLatestProcessVersion返回默認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獲取TaskModelapi
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,自適應Springbeansnaker.xml中配置的bean,以及用戶自定義獲取bean的方式
5.
重構ordertask的變量獲取方式,方便與模板語言整合
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數據庫的schemadialect.需要調整bytea類型處理
6.wf_process
表刪除query_sqlparent_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.
降低dbcpdbutils依賴庫的版本適應jdk5
3.jdk5
依賴調整
4.
測試用例以snaker-example項目獨立

 

version 1.2.3

1.提高服務上下文ServiceContext方法的可見性
2.
增加SpringHelper幫助類適應低版本spring
3.
調整Springapi以適應低版本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+dbutilsmybatishibernatespringjdbc
5.
支持以上orm框架的事務管理以及JTA事務管理

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章