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事务管理