开源流程引擎Snaker

Snaker工作流引擎本着轻量、简单、灵巧理念设计。
一、轻量:
1、可以使用JDBC+Dbutils独立运行,也可以依赖主流的ioc、orm框架运行
2、整个jar占用170K

二、简单:
1、流程组件简单。
[img]http://git.oschina.net/uploads/images/2013/1114/203427_3faaed90_13178.png[/img]
这方面纠结很久,像jbpm包括(State/Hql/Sql/Jms/Custom/Java/Script等)真正用到的有几个呢?很多组件仅仅是附属品,但是会增加学习成本
2、表设计简单(目前只有7张表)
[url]http://git.oschina.net/yuqs/snaker/wikis/DataBase[/url]
实际上,如果各种数据库对表分区支持较好,可去除历史记录的3张表。
3、上手简单
只需要根据实际的项目环境配置snaker.properties/snaker.xml两个文件即可

三、灵巧:
1、扩展性:暴露较多的可扩展接口,甚至是核心的流程组件(只需在snaker.xml中增加bean的配置即可)。
2、数据持久层面支持jdbc+dbutils、mybatis、hibernate、springjdbc。目前支持的数据库有oracle、mysql、sqlserver。

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

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


项目包括三部分:
Snaker:流程引擎,负责流程的调度与执行
Snaker-Designer:流程设计器(基于Eclipse RCP设计的插件)
Snaker-Web:使用SpringMVC、Shiro、Spring、Hibernate整合的一套案例平台
数据库表设计:
[url]http://git.oschina.net/yuqs/snaker/wikis/DataBase[/url]
入门手册:
[url]http://git.oschina.net/yuqs/snaker/wikis/QuickStart[/url]

支持以下流程模型:

1、简单直流:
[img]http://git.oschina.net/uploads/images/2013/1107/153019_729ddee2_13178.png[/img]

2、选择分支:
[img]http://git.oschina.net/uploads/images/2013/1108/110913_0c9eb890_13178.png[/img]

3、并行:
[img]http://git.oschina.net/uploads/images/2013/1107/153138_9cc15c47_13178.png[/img]

4、子流程串行:
[img]http://git.oschina.net/uploads/images/2013/1107/153201_38f47831_13178.png[/img]

5、子流程并行:
[img]http://git.oschina.net/uploads/images/2013/1107/153211_0d30b75a_13178.png[/img]

6、请假流程的案例:
[img]http://git.oschina.net/uploads/images/2013/1107/153230_5380b706_13178.png[/img]

目前流程设计器的图形元素使用JBPM-JPDL的元素(个人觉得图标比较美观),如下图:
[img]http://git.oschina.net/uploads/images/2013/1107/153330_7c3f4fa6_13178.png[/img]


具体请参考:
wiki:[url]http://git.oschina.net/yuqs/snaker/wikis/home[/url]
source:[url]http://git.oschina.net/yuqs/snaker[/url]

你可能感兴趣的:(snaker,workflow,工作流,流程引擎,Snaker)