-
Notifications
You must be signed in to change notification settings - Fork 173
SnakerFlow流程引擎
guoqing.zhao edited this page Dec 2, 2019
·
1 revision
Snaker是一个基于Java的轻量级工作流引擎,适用于企业应用中常见的业务流程。本着轻量、简单、灵巧理念设计,定位于简单集成,多环境支持。
snaker-core.jar大小208K,代码行数约7000行,强大的扩展支持,不依赖于具体的ORM框架
- 表设计简单,七张核心表
- 流程组件简单[start/end/task/custom/subprocess/decision/fork/join]
- 暴露大量可扩展接口,支持流程设计器、流程引擎的组件模型自定义
- 数据持久层面支持jdbc+dbutils、mybatis、hibernate、springjdbc。目前支持的数据库有oracle、mysql、sqlserver。
- process 流程
- start/end 开始/结束
- transition 变迁转换
- expr 策选择Decision节点的输出变迁表达式
- task 任务
- assignee 任务参与者变量
- form 用户参与的表单任务对应的URL
- custom 自定义
- sub-process 子流程
- processName 子流程名称(对应process的name属性)
- decision 决策点
- expr 决策选择表达式
- fork 分叉
- join 结合
<process displayName="请假流程测试" instanceUrl="/snaker/flow/all" name="leave">
<start displayName="start1" layout="24,124,-1,-1" name="start1">
<transition g="" name="transition1" offset="0,0" to="apply"/>
</start>
<end displayName="end1" layout="570,124,-1,-1" name="end1"/>
<task assignee="apply.operator" displayName="请假申请" form="/flow/leave/apply" layout="117,122,-1,-1" name="apply" performType="ANY">
<transition g="" name="transition2" offset="0,0" to="approveDept"/>
</task>
<task assignee="approveDept.operator" displayName="部门经理审批" form="/flow/leave/approveDept" layout="272,122,-1,-1" name="approveDept" performType="ANY">
<transition g="" name="transition3" offset="0,0" to="decision1"/>
</task>
<decision displayName="decision1" expr="#day > 2 ? 'transition5' : 'transition4'" layout="426,124,-1,-1" name="decision1">
<transition displayName="<=2天" g="" name="transition4" offset="0,0" to="end1"/>
<transition displayName=">2天" g="" name="transition5" offset="0,0" to="approveBoss"/>
</decision>
<task assignee="approveBoss.operator" displayName="总经理审批" form="/flow/leave/approveBoss" layout="404,231,-1,-1" name="approveBoss" performType="ANY">
<transition g="" name="transition6" offset="0,0" to="end1"/>
</task>
</process>
- StartModel、TaskModel、EndModel、DecisionModel
- processModel
- 发起一个流程
- 审核动作
activiti 数据库模型 https://blog.csdn.net/hj7jay/article/details/51302829
- 源码 https://github.com/snakerflow/snakerflow
- 演示项目 https://github.com/snakerflow/snaker-web
- snaker流程引擎设计器(eclipse插件)https://github.com/snakerflow/snaker-designer
- 插件安装 https://www.twblogs.net/a/5d4bf0debd9eee5327fc291e/zh-cn
- Snaker Document https://yunmel.gitbooks.io/snakerflow/
- Snakerflow http://guide.muhais.com/snaker/index.html
- Snaker Document http://lightfor.org/snaker/book/index.html
- 便便教你玩转流程引擎Snaker https://my.oschina.net/icelily/blog/3067826
- Springboot2.0.4集成SnakerFlow2.4.0版本(mybaits实现) https://blog.csdn.net/Fly_Eason/article/details/81632128
- 工作流引擎大汇集 https://www.oschina.net/project/tag/129/workflow?company=0&sort=favorite&tag=129&lang=0&recommend=false