flowable官方文档
       官网:https://tkjohn.github.io/flowable-userguide/#_getting_started
  工作流(Workflow),是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。

简介

  Flowable工作流是active5.x的分支,表结构和框架设计有部分类似的。Flowable集成于springboot,相比Activity使用更方便。
  Flowable的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
  ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,配置等)。
  ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Flowable只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
  ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等。
  ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等。
  ACT_GE_*: 通用数据, 用于不同场景下,如存放资源文件。

重点表

  资源库流程规则表

  1) act_re_deployment 部署信息表
  2) act_re_model 流程设计模型部署表
  3) act_re_procdef 流程定义数据表

  运行时数据库表

  1) act_ru_execution 运行时流程执行实例表
  2) act_ru_identitylink 运行时流程人员表,主要存储任务节点与参与者的相关信息
  3) act_ru_task 运行时任务节点表
  4) act_ru_variable 运行时流程变量数据表

  历史数据库表

1) act_hi_actinst 历史节点表
2) act_hi_attachment 历史附件表
3) act_hi_comment 历史意见表
4) act_hi_identitylink 历史流程人员表
5) act_hi_detail 历史详情表,提供历史变量的查询
6) act_hi_procinst 历史流程实例表
7) act_hi_taskinst 历史任务实例表
8) act_hi_varinst 历史变量表

  组织机构表

1) act_id_group 用户组信息表
2) act_id_info 用户扩展信息表
3) act_id_membership 用户与用户组对应信息表
4) act_id_user 用户信息表
这四张表很常见,基本的组织机构管理,如果搭建了flowable-ui,可以匹配对接自定义用户权限使用。

  通用数据表

1) act_ge_bytearray 二进制数据表
2) act_ge_property 属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录

流程信息关键表名:
act_hi_actinst 、act_hi_identitylink、 act_hi_procinst 、act_hi_taskinst 、act_hi_varinst
act_re_procdef 、act_ru_identitylink 、act_ru_task 、act_ru_execution 、act_ru_variable

部署flowable-ui:

  docker pull flowable/flowable-ui                  #部署flowable服务,设计BPMN流程图,服务数据是保存在h2数据库的,重启以后数据会丢失。

BPMN流程配置xml文件

标识xml:

<sequenceFlow id="flow2" sourceRef="exclusiveGw" targetRef="theTask1">
<conditionExpression xsi:type="tFormalExpression">${amount <= 500 && amount >= 100}</conditionExpression>
</sequenceFlow>
<userTask id='theTask' name='important task' >
<potentialOwner>
<resourceAssignmentExpression>
<formalExpression>user(kermit), group(management)</formalExpression>
</resourceAssignmentExpression>
</potentialOwner>
</userTask>
<userTask id="theTask" name="my task" flowable:assignee="kermit" />
<userTask id="task" name="My Task" flowable:assignee="${ldapService.findManagerForEmployee(emp)}"/>
<userTask id="theTask" name="my task" flowable:candidateUsers="kermit, gonzo" />
<userTask id="task" name="My Task" flowable:candidateUsers="${ldapService.findAllSales()}"/>
<userTask id="theTask" name="my task" flowable:candidateGroups="management, accountancy" />

示例财务赔偿工作流:

  职员、有判断赔偿人的职责,部门经理有判断赔偿等级的权利,财务赔偿分 A/B/C/D四个等级,C/D等级财务总监就可以直接结束,A/B等级必须经过会计审计后赔偿,副总经理审批。

  职员、部门经理、财务总监的流程都可以设置过去,直接走到会计审计处理结束流程。

完整示例Demo在GitHub上:https://github.com/lovelifeming/Resource/tree/master/SpringBoots

  其中抽取FlowableService公共层,并自定义了查询接口,通过示例可以很快根据不同业务控制器构建不同业务流程。

  如果对你用,请扫红包支持,谢谢!

作者:Jason Zeng 于 2021-01-25
博客:http://www.cnblogs.com/zengming/
GItHub:https://github.com/lovelifeming
严正声明:
1.由于本博客部分资源来自互联网,版权均归原作者所有。转载的目的是用于学术交流与讨论学习,将不对任何资源负法律责任。
2.若无意中侵犯到您的版权利益,请来信联系我,我会在收到信息后会尽快给予处理!
3.所有资源内容仅供学习交流之用,请勿用作商业用途,谢谢。
4.如有转发请注明出处,来源于http://www.cnblogs.com/zengming/,谢谢合作。

Flowable快速入门的更多相关文章

  1. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

  2. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  3. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  4. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  5. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  6. Mybatis框架 的快速入门

    MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...

  7. grunt快速入门

    快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...

  8. 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  9. 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  10. Vue.js 快速入门

    什么是Vue.js vue是法语中视图的意思,Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API.作者是尤雨溪,写下这篇文章时vue.js版本为1.0.7 准备 我推荐 ...

随机推荐

  1. Windows 快速启动器

    在日常工作和学习中,我们经常需要快速访问某些功能或资源,例如打开常用网站.启动应用程序或执行特定命令.Linux 用户可以通过 alias 快速实现这些操作,但在 Windows 上缺乏类似的原生支持 ...

  2. Oracle如何查找指定字符串所出现的表

    declare v_sql varchar2(2000); v_count number; begin for cur in(select t.owner, t.table_name, t.colum ...

  3. auto-wing将AI应用于自动化项目

    GitHub: https://github.com/SeldomQA/auto-wing 背景:我们之前介绍过 midsence.js AI自动化测试辅助工具,midsence.js的思路我个人是比 ...

  4. 数据库中的WITH temp_a 类似临时表的使用-CTE表达式

    个人随笔记录 当一个表的数据量过大时,在字段没有索引的情况下,查询的效率通常都会比较慢,如何能在不改变当前表结构的情况下让查询效率提升呢? 在一次偶然的巧合中看见同事使用了一个未见过语句,后面通过百度 ...

  5. 更快更省更好用!天翼云云原生一体机iStack打通物云最后一公里!

    近年来,随着企业数字化转型的深入,从传统 IT 架构向云原生架构转型,已经成为企业谋求更高质量发展的必由之路.然而,云原生技术复杂度高,运维成本高,且技术工具间的集成度不足.打破云原生技术应用门槛,以 ...

  6. 安全可信 | 天翼云自研密钥管理系统(KMS)获得《商用密码产品认证证书》!

    近日,天翼云自研密钥管理系统(KMS)通过国家密码管理局安全性审查,符合GM/T 0051<密码设备管理 对称密钥管理技术规范>要求,获得由国家密码管理局商用密码检测中心颁发的<商用 ...

  7. 硬件设计:逻辑电平--CML

    参考资料:CML信号原理 PECL.LVDS和CML电平 常用逻辑电平及基本输入输出结构 LVDS和CML电平应用区别 CML(即Current Mode Logic,也就是电流模式逻辑)电路主要靠电 ...

  8. [BZOJ4350] 括号序列再战猪猪侠 题解

    我们设 \(dp_{i,j}\) 表示第 \(i\) 到第 \(j\) 个括号合并为序列且最外层不是括号 \(i\) 的可能性,\(f_{i,j}\) 表示最外层是括号 \(i\) 的可能性.则有: ...

  9. 关于企业微信扫码登陆vue

        关于企业微信扫码登陆vue   企业微信扫码登陆官方文档 采用的是第一种(构造独立窗口登录二维码) 对于前端来说就步骤就是 页面展示二维码 => 用户扫码登陆点击确定 => 确定之 ...

  10. 饥荒联机版 mod

    Extra Equip Slots Extra Equip Slots 额外装备槽:护甲.背包.护符各用各的插槽 Wormhole Marks [DST] Wormhole Marks DST] 相通 ...