Snaker,一个基于Java的开源工作流引擎,它的核心代码行数大约只有7000行,却拥有强大的扩展性。它支持Spring、Jfinal、Nutz等平台级框架,以及Jdbc、SpringJdbc、Hibernate3or4、Mybatis等ORM框架。这样的小身材,却有着大大的能量,是不是很神奇?
Snaker的设计理念是“轻量、简单、灵巧”,所以它的表设计非常简单,只有7张表,相比于其他工作流引擎动辄十几张表,Snaker简直是小清新。而且,它的流程组件也很简单,包括start/end/task/custom/subprocess/decision/fork/join等,让你轻松驾驭复杂流程。
Snaker不仅简单易用,还非常灵活。它暴露了大量的可扩展接口,支持流程设计器、流程引擎的组件模型自定义。你可以自定义节点、属性、表单,让你的工作流变得独一无二。
Snaker的功能非常强大,支持流程定义、流程实例管理、任务处理、事件监听、事务控制等核心功能。它还提供了丰富的API和工具,如流程设计器、监控工具等,让你轻松实现复杂的工作流程。
从2015年发布至今,Snaker已经经历了多个版本的迭代。在2.0.0版本中,Snaker进行了许多改进,比如:
1. Snakerflow重新规划,将第三方扩展支持以独立子模块发布;
2. 支持自动初始化脚本,只需要用户创建一个数据源即可;
3. 支持Web自定义表单、eclipse插件自定义表单;
4. 流程web设计器增强,支持绑定自定义表单、支持选择参与者;
5. 流程状态图增强,支持单击活动节点显示处理人,抵达时间,并且可动态添加参与者;
6. 增加jfinal支持,事务可统一由jfinal控制;
7. 增加nutz支持,事务可统一由nutz控制;
8. TaskService增加根据taskId获取TaskModel的api;
9. Order实体的orderNo支持由map传递运行时数据;
10. 增加IReminder接口,用于超时提醒;
11. TaskModel增加表单自定义的模型FieldModel。
这些改进让Snaker的功能更加完善,也让它更加适应各种场景。
Snaker适用于各种场景,比如:
1. 企业内部审批流程;
2. 项目管理流程;
3. 人力资源流程;
4. 财务流程;
5. 供应链管理流程。
Snaker就像一只灵活的小蛇,可以轻松地穿梭在各种业务流程中,为你的工作带来便利。
Snaker,这个轻量级的工作流引擎,凭借其简单易用、功能强大、灵活多变的特点,赢得了众多开发者的喜爱。如果你正在寻找一款适合你的工作流引擎,不妨试试Snaker,相信它会给你带来意想不到的惊喜!