一、Flowable 入门介绍

官网地址:https://www.flowable.org/

Flowable6.3中文教程:https://tkjohn.github.io/flowable-userguide/#_introduction

可以在官网下载对应的jar包在本地部署运行,官方提供了下面的五个应用程序:


Flowable Modeler:流程定义管理

Flowable Task:用户任务管理

Flowable IDM:用户组权限管理

Flowable REST API:流程引擎对外提供的API接口

Flowable Admin:后台管理


二、初识Flowable五大引擎

Flowable有五大引擎,每个之间都是相互独立互不影响。

ProcessEngine是里面最核心也是最重要的一个引擎,如果失去它那Flowable也就意义了。

 
五大引擎

三、流程引擎使用架构

Flowable引擎在使用前需要先通过配置来初始化ProcessEngine。

初始化ProcessEngineConfiguration一般有两种方式:

1.通过Spinrg配置文件进行依赖注入,通过flowable.cfg.xml文件来初始化ProcessEngineConfiguration(这里的文件名必须为flowable.cfg.xml,否则Flowable识别不到)

2.通过编写程序的方式来构造ProcessEngineConfiguration对象

 
流程引擎API架构图
 
模型图

ProcessEngineConfiguration在初始化过程中会同时初始化数据库,如果数据库已经存在,则不会做创建更新操作,如果数据库不存在,则会默认执行数据库创建脚本。

四、流程引擎初体验

1.简单了解Bpmn

1.1Task任务:

用户任务(userTask)

系统任务(serviceTask )

1.2Event事件:

定时器事件(timerEventDefinition)

1.3Gateway网关:

排他网关(exclusive gateway)

2.目标:实现以下简化版的请假流程

 
请假流程图(简单版)

步骤1:定义相应的BPMN文件

步骤2:配置flowable.cfg.xml

步骤3:将流程定义添加到Repository仓储中

步骤4:Runtime开始一个流程实例

五、Flowable的用户权限体系

在接入Flowable的用户权限体系的时候,有四种方式:

1.使用Flowable提供的默认IdmEngine进行用户体系管理,该引擎包含了用户、组的概念。

2.集成LDAP,实现轻量级用户权限管理。通过IdentityService进行认证,用于由IdentityService处理所有认证业务的场景。

3.实现IdmIdentityService接口,自定义实现用户、组的查询

4.接入自定义的权限体系

用户id => 获取到租户id、角色id集、部门id集

4.1单用户(assignee="用户id")、多用户(candidateUsers="用户id1,用户id2")

4.2单角色、多角色(candidateGroups=":角色id1,:角色id2")

4.3单部门、多部门(candidateGroups="部门id1:,部门id2:")

4.4角色或部门(candidateGroups="角色id1:, :部门id1")

4.5角色且部门

六、数据库介绍

ACT_RE_ *:RE代表repository。具有此前缀的表包含静态信息,例如流程定义和流程资源(图像,规则等)。

ACT_RU_ *:RU代表runtime。这些是包含运行时的流程实例,用户任务,变量,作业等的运行时数据的运行时表。Flowable仅在流程实例执行期间存储运行时数据,并在流程实例结束时删除记录。这使运行时表保持小而快。

ACT_HI_ *:HI代表history。这些是包含历史数据的表,例如过去的流程实例,变量,任务等。

ACT_GE_ *:general数据,用于各种用例。

ACT_ID_*:Idm的用户、组

=====================================================

ACT_HI_ACTINST 流程实例的历史运行节点表

ACT_HI_TASKINST 流程实例的历史任务表

ACT_HI_VARINST 流程实例的历史运行节点的变量表

ACT_HI_PROCINST 流程历史部署记录

ACT_HI_IDENTITYLINK 对应ACT_RU_IDENTITYLINK的历史记录表

ACT_RE_DEPLOYMENT 流程部署

ACT_RE_PROCDEF 流程定义表

ACT_RU_EXECUTION 流程实例执行过程的所有节点记录

ACT_RU_IDENTITYLINK 流程实例运行过程中,各节点对应的用户

ACT_RU_TASK 流程实例运行时的任务表

ACT_RU_VARIABLE 流程实例运行时节点的变量表

ACT_GE_BYTEARRAY 资源文件表

作者:丿宁静致远
链接:https://www.jianshu.com/p/799b1ebf5dc4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Flowable 简介的更多相关文章

  1. Flowable学习入门

    一.Flowable简介 1.Flowable是什么 Flowable是一个使用Java编写的轻量级业务流程引擎.Flowable流程引擎可用于部署BPMN 2.0流程定义(用于定义流程的行业XML标 ...

  2. flowable ui 界面请假流程操作实例

    如题,网上的教程多是代码居多,UI界面操作实例那更是一页难求,楼主分享下几天来的入坑经历,希望有需要了解,但是不知道去哪里了解的小伙伴,看完我的文章后能有所启发,文章有不足之处还请指正,若有相关问题请 ...

  3. flowable笔记 - 简单的通用流程

    简介 通用流程可以用于一些基本的申请,例如请假.加班. 大致过程是: 1. 创建申请 2. 分配给审批人(需要审批人列表,当前审批人) -> 有下一个审批人 -> 3 -> 无 -& ...

  4. 构建一个Flowable命令行应用

    官网链接 [(https://flowable.com/open-source/docs/bpmn/ch02-GettingStarted/#building-a-command-line-appli ...

  5. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  6. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  7. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  8. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  9. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

随机推荐

  1. LeetCode 043 Multiply Strings

    题目要求:Multiply Strings Given two numbers represented as strings, return multiplication of the numbers ...

  2. python之汉诺塔

    # -*- coding: utf-8 -*- def move(n, a, b, c): if n==1: print(a,'==>',c)#只有一块的时候直接从A到C即可 else: mov ...

  3. CentOS7.X 挂载磁盘 与Mysql 自动备份

    1.前言 搞了好几天终于弄了出来,简单记录一下.注意以下教程是在测试服务器基础上编写 如数据盘含有数据切勿使用此教程,如对命令行不熟悉的 不建议搞哈 .本文中的磁盘/dev/sdb为笔者测试服务器上的 ...

  4. 色相偏移 HueShift ASE

    色相偏移可以改变颜色色调,unity ASE没有参考UE4写个,原理很简单,将颜色向量绕(1,1,1)旋转,就可以得到不同色调的颜色. https://zhuanlan.zhihu.com/p/677 ...

  5. moviepy音视频剪辑:与大小相关的视频变换函数详解

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 在<moviepy音视频剪辑:moviepy中的剪辑基类Clip详解>介绍了剪辑基类的fl.fl_time.fx方法,在<movi ...

  6. 第7.14节 Python类中的实例方法详析

    第7.14节 Python类中的实例方法详析 一.    实例方法的定义 在本章前面章节已经介绍了类的实例方法,实例方法的定义有三种方式: 1.    类体中定义实例方法 第一种方式很简单,就是在类体 ...

  7. 分布式计算框架-Spark(spark环境搭建、生态环境、运行架构)

    Spark涉及的几个概念:RDD:Resilient Distributed Dataset(弹性分布数据集).DAG:Direct Acyclic Graph(有向无环图).SparkContext ...

  8. LSB隐写加密MISC

    没有做过LSB隐写加密的题目,在buuoj上面做到了就记录一下,估计后面很长的时间都会在这个平台上面训练自己的MISC和WEB,是很好的平台,把很多比赛的原题和安恒的周赛的复现了. 题目是MISC里面 ...

  9. VS Code 搭建 Rust 开发环境

    VS Code 搭建 Rust 开发环境 上一篇文章安装和配置好了 Rust 环境后,我们是使用的是简单的文本工具编写 Hello World 入门代码,但是为了提高我们的学习效率,下面安利大家 VS ...

  10. LeetCode初级算法之数组:350 两个数组的交集 II

    两个数组的交集 II 题目地址:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/ 给定两个数组,编写一个函数来计算它们的交 ...