Flowable开发--简介安装(一)

一、Flowable简介

  Flowable是一个使用Java编写的轻量级业务流程引擎。Flowable流程引擎可用于部署BPMN 2.0流程定义(用于定义流程的行业XML标准), 创建这些流程定义的流程实例,进行查询,访问运行中或历史的流程实例与相关数据,等等。
  Flowable可以十分灵活地加入你的应用/服务/构架。可以将JAR形式发布的Flowable库加入应用或服务,来嵌入引擎。 以JAR形式发布使Flowable可以轻易加入任何Java环境:Java SE;Tomcat、Jetty或Spring之类的servlet容器;JBoss或WebSphere之类的Java EE服务器,等等。 另外,也可以使用Flowable REST API进行HTTP调用。也有许多Flowable应用(Flowable Modeler, Flowable Admin, Flowable IDM 与 Flowable Task),提供了直接可用的UI示例,可以使用流程与任务。
官网地址:https://www.flowable.org/
文档地址:https://www.flowable.org/docs/userguide/index.html#_getting_started
中文文档:https://tkjohn.github.io/flowable-userguide/#_getting_started

二、下载安装

  1. 下载
    下载地址:https://www.flowable.org/
    下载地址

    下载地址:
    https://github.com/flowable/flowable-engine/releases/download/flowable-6.4.2/flowable-6.4.2.zip
  2. 解压


    目标结构
部署war包
  1. 部署
    拷贝war包到Tomcat的wapapps目录:


    部署
  2. 启动Tomcat
    (用户名/密码: admin/test)
    地址:
    流程图管理: http://localhost:8080/flowable-modeler
    任务管理: http://localhost:8080/flowable-task
    用户管理: http://localhost:8080/flowable-admin
    认证管理: http://localhost:8080/flowable-idm
    接口地址:http://localhost:8080/flowable-rest

    应用权限

  3. 数据库分成两套
    项目数据库:项目所需表和flowable通过jar包生成的表(34张)
    Flowable数据库:用于流程图创建保存,测试,监控(74张)
    项目部署只需项目数据库

三、Flowable的用户权限体系

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

  1. 使用Flowable提供的默认IdmEngine进行用户体系管理,该引擎包含了用户、组的概念。
  2. 集成LDAP,实现轻量级用户权限管理。通过IdentityService进行认证,用于由IdentityService处理所有认证业务的场景。
  3. 实现IdmIdentityService接口,自定义实现用户、组的查询
  4. 接入自定义的权限体系

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

  1. 单用户(assignee="用户id")、多用户(candidateUsers="用户id1,用户id2")
  2. 单角色、多角色(candidateGroups=":角色id1,:角色id2")
  3. 单部门、多部门(candidateGroups="部门id1:,部门id2:")
  4. 角色或部门(candidateGroups="角色id1:, :部门id1")
  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 资源文件表

五、Docker环境运行

1. 前置条件

Docker 环境

2. 运行Flowable6.4.2

Docker Hub上提供了所有工作流的UI应用程序。
要启动 Flowable REST 应用需要H2内存数据库:

[root@localhost ~]# docker run -p8080:8080 flowable/flowable-rest

这个API文档的访问地址为:http://localhost:8080/flowable-rest/docs/
用户名:rest-admin 密码:test
要运行完整的Flowable 工作流,可以运行run the ‘All-in-One’ Docker 镜像,这个镜像包含Flowable IDM、Modeler、Task 、Admin UI 应用,运行容器为Tomcat,数据为内存数据库H2。

[root@localhost ~]# docker run -p8080:8080 flowable/all-in-one

Flowable Modeler; http://localhost:8080/flowable-modeler
Flowable Task; http://localhost:8080/flowable-task
Flowable Admin; http://localhost:8080/flowable-admin
Flowable IDM; http://localhost:8080/flowable-idm

3. 运行测试

1) 用户组权限管理

(用户名/密码: admin/test)
http://192.168.247.130:8080/flowable-idm/#/login

用户管理

2) 流程定义管理

http://192.168.247.130:8080/flowable-modeler

流程图

流程图

3) 用户任务管理

http://192.168.247.130:8080/flowable-task/#/

任务管理

4) 后台管理

http://192.168.247.130:8080/flowable-admin

后台管理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工作流引擎是指workflow(工作流)作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条...
    AI贺贺阅读 30,797评论 3 6
  • 上一篇:Spring学习之整合MyBatis下一篇:Spring学习之整合Activiti(二) 1. 背景 Ac...
    a_simple_coder阅读 17,708评论 2 16
  • 首先是因为自己目前的项目中需要用到工作流,因为来公司之前就已经选好了:Flowable。这一次也是对自己这两天学习...
    IPYJ阅读 52,130评论 27 57
  • 香港,作为一个中西文化交融的国际大都市,一直以来都享誉着东方之珠的美称。身为一个广东人,香港从距离上来看很...
    行運超人阅读 322评论 0 0
  • 今天开始看Python,一点点开始学吧。 看了之前的标签纸,原来一年前杨艺就跟我提过这软件,而一年的时间,我压根也...
    沉愚落雁阅读 153评论 0 0