Snaker是一个基于Java的开源工作流引擎,适用于企业应用中常见的业务流程。本着轻量、简单、灵巧理念设计,定位于简单集成,多环境支持
轻量: snaker-core.jar大小208K,代码行数约7000行,强大的扩展支持,不依赖于具体的ORM框架
简单: 表设计简单,流程组件简单[start/end/task/custom/subprocess/decision/fork/join]
灵巧: 暴露大量可扩展接口,支持流程设计器、流程引擎的组件模型自定义
灵巧:
1、扩展性:暴露较多的可扩展接口,甚至是核心的流程组件(只需在snaker.xml中增加bean的配置即可)。
2、数据持久层面 支持jdbc+dbutils、mybatis、hibernate、springjdbc。目前支持的数据库有oracle、mysql、sqlserver。
改进版本包括:
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接口,用于超时提醒