zoukankan      html  css  js  c++  java
  • 开源流程引擎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的元素(个人觉得图标比较美观),如下图:


    snaker的定位是简单集成,多环境支持(对于运维阶段的项目整合工作流比较有利)。与jbpm、activiti不是一个级别的(我认为这两个框架时大而全),snaker算是精简版(因为舍弃了一些功能,特别是对bpmn支持有限)。
    运行速度方面,要看使用什么orm了(主要影响速度的地方还是在持久层)。snaker提供jdbc+dbutils、mybatis、springjdbc、hibernate几种实现。
    具体请参考:
    wiki:http://git.oschina.net/yuqs/snaker/wikis/home
    source:http://git.oschina.net/yuqs/snaker
  • 相关阅读:
    asp.net core3.1修改代码以支持windows服务发布
    .NET Core3.1IFreeSql使用FreeSql.Generator自动生成实体类
    西南大学2021年秋《线性代数》参考答案
    西南大学2021年秋形势与政策2 阶段一参考答案
    送给程序员的礼物
    西南大学2021年秋形势与政策2 阶段三参考答案
    拿 M 奖真的那么难吗?这份美赛攻略请收下!
    前端开发必会实战项目,Vue Router 实战来啦!​​
    你喜欢哪款 Linux 桌面?萝莉风?御姐风?
    Python 挑战,你通关了吗?速来看题解!
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317903.html
Copyright © 2011-2022 走看看