基于spring 轻量级工作流引擎

基于spring 轻量级工作流引擎,第1张

Snaker工作流引擎本着轻量、简单、灵巧理念设计。

一、轻量:

1、可以不依赖主流的ioc、orm框架独立运行(使用JDBC+Dbutils)

2、整个jar占用170K

二、简单:

1、流程组件简单。

2、表设计简单(目前只有7张表)

3、上手简单,只需要根据实际的项目环境配置snaker.properties/snaker.xml两个文件即可

三、灵巧:

1、扩展性:暴露较多的可扩展接口,甚至是核心的流程组件(只需在snaker.xml中增加bean的配置即可)。

2、数据持久层面支持jdbc+dbutils、mybatis、hibernate、springjdbc。目前支持的数据库有oracle、mysql、sqlserver。

当然,基于以上三点设计肯定会损失流程引擎的一些特性。所以Snaker目前主要针对中小型项目需要增加工作流特性的系统。

如果,你的项目中部分业务需要使用工作流而觉得JBPM、ACTIVITI开发成本太高时,可考虑Snaker!

严格来说,这两个东西不是可对比的概念。

工作流是抽象的概念,Web Flow是一个具体的产品。

Web Flow是专门定义界面跳转顺序的,你如果想用Web Flow将页面组织成特定的工作流来实现特定的业务,也是可以的,但通常工作流有专门的工作流系统,一般更强大。

工作流系统一般都要求:

1、可视化的流程编辑。

2、支持分支、合并。

3、支持子流程。

4、支持流程节点的页面定制。

5、支持同一流程的多个版本。

6、管理流程的执行历史。

Snaker是一个基于Java的开源工作流引擎,适用于企业应用中常见的业务流程。本着轻量、简单、灵巧理念设计,定位于简单集成,多环境支持

轻量:核心代码行数大约7000行,强大的扩展性,支持Spring、Jfinal、Nutz平台级框架;支持Jdbc、SpringJdbc、Hibernate3or4、Mybatis等orm框架

简单:表设计简单,流程组件简单[start/end/task/custom/subprocess/decision/fork/join]

灵巧:暴露大量可扩展接口,支持流程设计器、流程引擎的组件模型自定义[节点自定义、属性自定义、表单自定义]

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接口,用于超时提醒

望采纳!!!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10646601.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存