`
Dead_knight
  • 浏览: 1200930 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
752c8642-b795-3fe6-946e-a4e845bffdec
Spring Securi...
浏览量:240190
33caa84e-18a6-3036-a82b-6e2106a4de63
clojure专题
浏览量:48914
E17ca077-44df-3816-a3fe-471c43f6e1e5
WebLogic11g
浏览量:236872
社区版块
存档分类
最新评论

开源流程引擎Snaker

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

二、简单:
1、流程组件简单。

这方面纠结很久,像jbpm包括(State/Hql/Sql/Jms/Custom/Java/Script等)真正用到的有几个呢?很多组件仅仅是附属品,但是会增加学习成本
2、表设计简单(目前只有7张表)
http://git.oschina.net/yuqs/snaker/wikis/DataBase
实际上,如果各种数据库对表分区支持较好,可去除历史记录的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整合的一套案例平台
数据库表设计:
http://git.oschina.net/yuqs/snaker/wikis/DataBase
入门手册:
http://git.oschina.net/yuqs/snaker/wikis/QuickStart

支持以下流程模型:<br>
1、简单直流:


2、选择分支:


3、并行:


4、子流程串行:


5、子流程并行:


6、请假流程的案例:


目前流程设计器的图形元素使用JBPM-JPDL的元素(个人觉得图标比较美观),如下图:



具体请参考:
wiki:http://git.oschina.net/yuqs/snaker/wikis/home
source:http://git.oschina.net/yuqs/snaker
25
1
分享到:
评论
41 楼 Dead_knight 2013-11-21  
gx4air 写道
designer怎么用啊?急啊!!!!

http://git.oschina.net/yuqs/snaker/attach_files
在这里下载designer的jar包,放到eclipse的plugins目录下。我测试过的版本时eclipse4.2和4.3两个版本
40 楼 gx4air 2013-11-21  
designer怎么用啊?急啊!!!!
39 楼 Dead_knight 2013-11-21  
cq_charlie 写道
LZ能转换成普通JAVA项目吗?

已转换为普通的java项目,地址为:
http://git.oschina.net/yuqs/snaker/attach_files
38 楼 Dead_knight 2013-11-20  
cq_charlie 写道
LZ能转换成普通JAVA项目吗?

好的,明天转换一下
37 楼 zhushaolong 2013-11-20  
正需要!帅呆了!顶一个!
36 楼 cq_charlie 2013-11-20  
LZ能转换成普通JAVA项目吗?
35 楼 Dead_knight 2013-11-20  
9344187 写道
怎么关注snaker的进展,有微信微博之类的吗

感谢关注。目前的更新只是放在wiki中。
34 楼 9344187 2013-11-20  
怎么关注snaker的进展,有微信微博之类的吗
33 楼 amu0712 2013-11-20  
会关注的,期待! 以前用过很多工作流,都不是很满意
32 楼 Dead_knight 2013-11-20  
amu0712 写道
不错,能否写个详细点快速入门,入门手册有些简单~

这里提供的入门手册仅仅是用于执行测试用例使用。

目前正在开发snaker-web,一个使用springmvc+shiro+hibernate3,并整合snaker的web应用,尽请期待。

等snaker-web开发完了,就编写详细的文档
31 楼 Dead_knight 2013-11-20  
bjmike 写道
不错研究一下

感谢支持
30 楼 amu0712 2013-11-20  
不错,能否写个详细点快速入门,入门手册有些简单~
29 楼 bjmike 2013-11-19  
不错研究一下
28 楼 Dead_knight 2013-11-19  
sgq0085 写道
现在用Activiti跟Spring整合感觉很方便了,Modeler也可以很完美的整合进来。

能告知跟Activiti相比较,从对BMPN的支持、易用性、运行速度等相比较有什么优点么?

感谢您的关注。不知道你用activiti整合到实际项目中一共花了多长时间(并不是说简单的框架整合,而是与实际项目的业务整合),比如说:待办任务、历史任务、流程部署、子流程执行等等。
临远的:https://github.com/xuhuisheng/activiti-demo整合的还不错。

snaker的定位是简单集成,多环境支持(对于运维阶段的项目整合工作流比较有利)。与jbpm、activiti不是一个级别的(我认为这两个框架时大而全),snaker算是精简版(因为舍弃了一些功能,特别是对bpmn支持有限)。
运行速度方面,要看使用什么orm了(主要影响速度的地方还是在持久层)。snaker提供jdbc+dbutils、mybatis、springjdbc、hibernate几种实现。
27 楼 sgq0085 2013-11-19  
现在用Activiti跟Spring整合感觉很方便了,Modeler也可以很完美的整合进来。

能告知跟Activiti相比较,从对BMPN的支持、易用性、运行速度等相比较有什么优点么?
26 楼 Dead_knight 2013-11-19  
phoenix_85 写道
有没有类似于activiti java service的任务类型或者可在task里配置是人工任务还是自动任务?

java的任务与sql、hql类似,感觉实际用途有限。不过自动任务有点用处,暂时还不支持。目前支持人工任务。
25 楼 phoenix_85 2013-11-19  
有没有类似于activiti java service的任务类型或者可在task里配置是人工任务还是自动任务?
24 楼 Dead_knight 2013-11-19  
phoenix_85 写道
楼主,可否在每个任务上加监听器或前置或后置处理器,这样比如当任务超时或创建时,可以方便发送邮件或短信

嗯,当然可以,不过拦截器是后置拦截(即产生了任务才会执行拦截),自定义拦截器类(实现org.snaker.engine.TaskInterceptor接口),然后配置到snaker.xml中即可,配置文件中已经配置了一个日志拦截器,如:
<bean class="org.snaker.engine.impl.LogInterceptor"/>
23 楼 phoenix_85 2013-11-19  
楼主,可否在每个任务上加监听器或前置或后置处理器,这样比如当任务超时或创建时,可以方便发送邮件或短信
22 楼 Dead_knight 2013-11-19  
zack 写道
目前的文档太简单了,是否可以提供详细的API文档。一个好项目文档也很重要。谢谢

嗯,多谢关注。用户手册目前正在编写,本人精力实在有限,所以文档的进度相对缓慢。也希望更多人能够参与进来。。。

相关推荐

    Java开源工作流引擎snaker

    总的来说,Java开源工作流引擎Snaker1.01为Java开发者提供了一套完整的解决方案,用于构建具有流程管理能力的应用系统。其非Maven版本降低了依赖性,使得部署和使用更加便捷。开发者可以根据需求选择合适的集成方式...

    工作流引擎 Snaker

    工作流引擎Snaker是一款强大的流程自动化工具,专为企业的业务流程管理设计。它提供了一种灵活、可扩展的方式来实现各种复杂的工作流程,从而提高工作效率,规范业务操作,并确保企业内部的流程符合法规要求。在本篇...

    snakerflow开源轻量流程引擎服务端

    SnakerFlow是一款开源轻量级流程引擎,专为简化企业工作流程管理而设计。它提供了服务端和客户端的完整解决方案,使得开发者可以快速构建出符合业务需求的工作流系统。在这个项目中,我们只关注服务端部分,即...

    流程框架snaker,用于 提交-审核-撤销-回滚

    2. **工作流引擎**:Snaker的核心是其强大的工作流引擎,能够解析流程定义并执行相应的操作。引擎负责任务的分配、流转、撤销和回滚,确保流程按照预设的规则运行。 3. **任务提交与审批**:在提交环节,Snaker提供...

    snakerflow开源轻量流程引擎客户端

    Snakerflow是一款开源的轻量级流程引擎,它专注于流程的建模、执行和监控,为企业或项目提供灵活的工作流解决方案。在这个特定的资源中,我们关注的是Snakerflow的客户端部分,它允许用户与流程引擎进行交互,例如...

    借助Jfinal的极速开发框架与Snaker流程引擎搭建一套基础应用平台

    本文将深入探讨如何利用Jfinal的极速开发框架与Snaker流程引擎来搭建一套基础应用平台。 首先,让我们了解Jfinal。Jfinal是一个基于Java的轻量级Web开发框架,它采用了MVC(Model-View-Controller)设计模式,以...

    snaker 工作流引擎

    Snaker工作流引擎是一款针对Java平台设计的开源工作流系统,它的核心目标是提供一个轻量级、易用且灵活的工作流解决方案。这个引擎不仅适用于企业级应用,也适合小型项目,使得开发者能够快速地在应用程序中集成工作...

    snaker工作流引擎实例

    Snaker是一个基于Java的开源工作流引擎,适用于企业应用中常见的业务流程。本着轻量、简单、灵巧理念设计,定位于简单集成,多环境支持 轻量:核心代码行数大约7000行,强大的扩展性,支持Spring、Jfinal、Nutz...

    基于开源SnakerFlow工作流引擎,将其和springboot进行整合成为一个能够快速工程应用的轻量级工作流引擎组件.zip

    4. **配置SnakerFlow**:编写SnakerFlow的相关配置,例如流程引擎的初始化、事务配置等。 5. **创建流程定义**:使用SnakerFlow提供的XML或图形化工具定义业务流程。 6. **编写业务代码**:根据流程定义,使用...

    snaker-workflow源码加配置文件

    通过研究这些源码和配置文件,开发者可以了解Snaker Workflow的内部实现,比如流程实例是如何创建和执行的,任务是如何分配和完成的,以及如何扩展流程引擎来满足特定业务需求。这对于提高开发效率和优化流程管理...

    工作流 开源 snake

    - 创建数据库`snaker`,并执行`snaker-mysql.sql`来初始化流程引擎表。 - `init-data.sql`用于启动应用后的数据初始化。 2. **启动示例应用** - 用户名/密码: `admin/123456` 或 `test/123456` 3. **发布测试...

    jfaker.zip

    其次,Snaker则是Jfaker中的另一个重要组件,是一个流程引擎,专门用于处理工作流相关的需求。Snaker提供了模型驱动的设计方式,支持BPMN 2.0标准,具备图形化的流程设计工具,使得非技术人员也能理解并参与到流程...

    ECP客户管理及进销存系统 v1.0

    该系统采用了一系列成熟的开源技术,如Java框架jfinal、组件化框架avalon、前端UI库bootstrap、数据网格组件jqGrid以及流程引擎snaker工作流,实现了高效、稳定且灵活的业务处理能力。 1. **jfinal框架**:jfinal是...

    ECP客户管理及进销存系统-其他

    在ECP系统中,Snaker工作流引擎使得企业能够自定义和执行各种复杂的业务流程,如销售订单审批、采购申请等,从而提高业务流程的自动化程度和效率。 此外,ECP系统还强调支持多企业使用,这意味着系统具有良好的权限...

Global site tag (gtag.js) - Google Analytics