开源流程引擎_docker源码分析

开源流程引擎_docker源码分析开源流程引擎Snaker

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

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

一、轻量:

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

2、整个jar占用170K

二、简单:

1、流程组件简单。


开源流程引擎_docker源码分析

这方面纠结很久,像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、简单直流:


开源流程引擎_docker源码分析

2、选择分支:


开源流程引擎_docker源码分析

3、并行:


开源流程引擎_docker源码分析

4、子流程串行:


开源流程引擎_docker源码分析

5、子流程并行:


开源流程引擎_docker源码分析

6、请假流程的案例:


开源流程引擎_docker源码分析

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


开源流程引擎_docker源码分析

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           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179997.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • kafka队列模式_redis消息队列和mq

    kafka队列模式_redis消息队列和mq一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。2.1异步处理场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种1.串行的方式;2.并行方式a、串行方式:将注册

    2022年10月9日
    0
  • 别再写满屏的try-catch了,真丑,全局异常处理不会吗?

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:巨人大哥 www.cnblogs.com/jurendage/p/11255197.html 本文讲得比较细,…

    2021年6月25日
    78
  • 怎么清除火狐浏览器的cookie?

    怎么清除火狐浏览器的cookie?

    2021年10月15日
    42
  • 测试用例编写_根据接口文档生成测试用例

    测试用例编写_根据接口文档生成测试用例前言写用例之前,我们应该熟悉API的详细信息。建议使用抓包工具Charles或AnyProxy进行抓包。har2case我们先来了解一下另一个项目har2case他的工作原理就是将当前主流的抓

    2022年7月30日
    6
  • JavaScript 判断是否为数字的几种方式

    JavaScript 判断是否为数字的几种方式js判断是否为数字方式很多:typeof、instanceof、Number.isNumberparseInt、parseFloatisNaN、isFinite正则表达式本片文章就介绍一下这些方式的区别和用法。1.typeof、instanceof、Number.isInteger使用typeof判断对象是不是基本类型number,比如:letnum=1;typeofnum===’number’;//true使用instanceof判断对象是不是包装类Number

    2022年6月17日
    115
  • layui弹出层中添加文本框

    layui弹出层中添加文本框有时候,我们需要针对,审核时给出原因这一需求,在弹出层添加文本框,比如这时候就用到了layer.prompt()varremarkReason=””;layer.prompt({formType:0,value:”,title:’请输入不通过原因’,…

    2022年6月10日
    185

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号