工作流(Workflow) -- 工作流简介

article/2025/8/25 16:39:12

工作流(Workflow) – 工作流简介

数据库

Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。

  • ACT_RE_: 'RE’表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
  • ACT_RU_*: 'RU’表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。
  • Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
  • ACT_ID_*: 'ID’表示identity。 这些表包含身份信息,比如用户,组等等。
  • ACT_HI_*: 'HI’表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。
  • ACT_GE_*: 通用数据, 用于不同场景下,如存放资源文件。

表结构

表结构操作

  1. 资源库流程规则表

    1. act_re_deployment 部署信息表
    2. act_re_model 流程设计模型部署表
    3. act_re_procdef 流程定义数据表
  2. 运行时数据库表

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

    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 历史变量表
  4. 组织机构表

    1. act_id_group 用户组信息表
    2. act_id_info 用户扩展信息表
    3. act_id_membership 用户与用户组对应信息表
    4. act_id_user 用户信息表

这四张表很常见,基本的组织机构管理,关于用户认证方面建议还是自己开发一套,组件自带的功能太简单,使用中有很多需求难以满足

  1. 通用数据表

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

activiti 配置

activiti的配置文件

activiti.cfg.xml

  • Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数。

    定义数据库配置参数:
    jdbcUrl: 数据库的JDBC URL。
    jdbcDriver: 对应不同数据库类型的驱动。
    jdbcUsername: 连接数据库的用户名。
    jdbcPassword: 连接数据库的密码。

  • 基于JDBC参数配置的数据库连接 会使用默认的MyBatis连接池。 下面的参数可以用来配置连接池(来自MyBatis参数):

    jdbcMaxActiveConnections: 连接池中处于被使用状态的连接的最大值。默认为10。
    jdbcMaxIdleConnections: 连接池中处于空闲状态的连接的最大值。
    jdbcMaxCheckoutTime: 连接被取出使用的最长时间,超过时间会被强制回收。 默认为20000(20秒)。
    jdbcMaxWaitTime: 这是一个底层配置,让连接池可以在长时间无法获得连接时, 打印一条日志,并重新尝试获取一个连接。(避免因为错误配置导致沉默的操作失败)。 默认为20000(20秒)。

核心组件介绍

工作流引擎 ProcessEngine对象

这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。 工作流的API所有的调用都要用到工作流引擎。

关键对象

  1. Deployment:流程部署对象,部署一个流程时创建。
  2. ProcessDefinitions:流程定义,部署成功后自动创建。
  3. ProcessInstances:流程实例,启动流程时创建。
  4. Task:任务,在Activiti中的Task仅指有角色参与的任务,即定义中的UserTask。
  5. Execution:执行计划,流程实例和流程执行中的所有节点都是Execution,如UserTask、ServiceTask等。

服务接口

服务接口

  1. 一个是ProcessEngineConfiguration,这个是用来获取流程引擎配置 ,activiti基础参数的配置,如:数据源什么的。
  2. 一个是activiti的八个service接口,这是使用activiti的关键,每个接口都有不同的职责。而这些接口需要通过ProcessEngine来获取,activiti为了和spring整合提供了ProcessEngineFactroyBean,可通过它来获取ProcessEngin。
    • RepositoryService: Activiti 中

http://chatgpt.dhexx.cn/article/BvXSXeSp.shtml

相关文章

工作流运行

工作流运行 定义内涵 工作流运行是工作流模板的依次执行,在工作流运行时,用户可以随时取消或查看正在 运行的任务。由于工作流运行的模板的不同,运行过程中可能会产生不同的新资源,如数据 处理类型的工作流会产生新的数据集&…

工作流(Workflow)

工作流(Workflow) 是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。工作流要解决的主要问题是&#xff1…

工作流-数据流转

一、流程图 二、数据流转 1. 部署流程分析 部署流程时会保存3张表:act_re_deployment、act_re_procdef、act_re_bytearray。 2. 启动流程 2.1启动流程流转 act_ru_execution:流程实例和执行流,每发起一次申请就会生成两条记录&#…

什么是开源工作流平台?

在办公职场中,有没有一款软件是实现提质增效的平台?如果让办公实现流程化管理,引用什么平台产品较为合适?低代码开发平台是近些年较为流行的办公软件平台,可以有效管理数据资源,制作表格可视化操作更简便&a…

Activiti教程(一)activiti工作流简介

一.工作流简介 BPM是Business Process Management 的缩写 简称BPM 即业务流程管理,即现在的工作流. 二.工作流概念 (1)流程定义:定义一个流程 即开始-任务x-结束 (2)流程部署:生成一个.bpmn规范的流程定义文件 进行发布. (3)流程执行:流程发布后既可以进入执行状态开始执行流…

普元EOS_工作流引擎相关数据表记录---工作流工作笔记002

由于现在在用普元的工作流引擎,但是,说明文档中没有对数据表的说明 所以整理一下记录下来: 业务流程(com.eos.workflow.data.WFProcessDefine) 属性 名称 类型 processDefID 业务流程ID long processDefName 业务流程名称 String processChName 业务流程显示名称 String desc…

微信小程序代码提交步骤

微信小程序提交代码分为两步: 一.本地提交 二.推送到github 1.点击右上角版本控制按钮,选择需要提交的文件,在下面协商更新日志,点击提交按钮(注意:本次提交仅为本地提交,实际没有上传到服务…

微信小程序远程git代码管理

这篇博客介绍一下微信小程序的代码管理,及将代码上传到远程git库。用来更新、优化、管理自身代码。由于时间的问题,仅仅介绍关联远程git仓库,上传本地代码到远程仓库,更多应用需求可自行摸索留言。 1.介绍的关联git仓库功能是基于…

使用vscode开发微信小程序

1. 安装插件 2. 文件-打开文件夹-将新建的微信小程序导入,代码会有高亮的效果 3. 编辑内容,查看效果,如果有就说明插件引入成功。

微信小程序授权登录

微信小程序授权登录 最近在学习微信小程序,学到授权登录这里,做个笔记记录一下。 我们使用的工具是微信开发者工具,我们创建一个项目,项目结构如图所示: 我们先准备好我们的index.wxml文件,代码如下&…

微信小程序休眠setTimeout

在java C#中,都有自己的休眠函数,那在微信小程序中,也有对应的休眠函数。那是-------setTimeout 使用小案例 这个我在写微信小程绘制 canvas,生产图片的案例,因为绘制头像需要一点时间,这里先让程序停留20毫秒&#x…

【小程序】如何获取微信小程序代码上传密钥?

当使用uniapp开发微信小程序的时候,发行微信小程序,自动上传微信平台,需要程序代码上传密钥 在下面的演示里重置才能获取

微信小程序9-发布代码

微信小程序1-小程序基础,开发工具安装使用 微信小程序2-WXSS,WXS 微信小程序3-小程序生命周期和组件 微信小程序4-小程序的api 微信小程序5-真机测试 微信小程序6-云开发-云数据库 微信小程序7-云存储 微信小程序8-云函数 1.在小程序开发工具中点击上传代码 2.输入版本后上传 …

小程序源代码_如何找回微信小程序源代码

如何找回微信小程序代码 今年暑假,把自己电脑重装系统后,发现自己以前好多的程序代码都找不回来了,自己又不想重写,也没有保存到代码仓库,不知道如何是好? 最近找到一个反编译的方法,试试能不能找回自己的小程序源代码。 先配置好node.js环境之后,再去下载wxapkg包。 w…

没有灵魂的微信小程序代码转支付宝小程序代码

没有灵魂的微信小程序代码转支付宝小程序代码 微信小程序与支付宝小程序直面代码的替换内容功能快捷键 微信小程序与支付宝小程序 作为一个微信小程序的半新手,支付宝小程序的全新手! 在公司安排的这次任务中,需要把已经上线的支付宝小程序更…

获取微信小程序源代码教程

准备工作: 1、安装node.js,下载地址:下载 | Node.js 中文网 win7系统的安装下面这个版本: windows764位系统可以安装的Node.js最高版本-互联网文档类资源-CSDN下载 2、 电脑上安装逍遥模拟器或者夜神模拟器(模拟器要启…

微信小程序发布代码步骤

看图说话: 1,在HBuilder X 点击发行 ,终端会显示发行成功 2.在微信开发者工具,会新打开一个页面,点击详情看下路径是不是/dist/build ,这才是压缩要发行 3.点击确定,根据自己需求改版本号等等信息,点击提交 4.浏览器打开维信公众平台 https://mp.weixin.qq.com/ 找到 [ 版…

微信小程序代码保存后,自动格式化代码

步骤: 1.在 文件 中找到首选项,然后点击设置,找到setting.json点击 2.在末尾添加 "editor.formatOnSave": true 3.保存之后,每次编辑保存后就会自动格式化代码了

微信小程序代码托管到GitHub

目录 一.在GitHub上创建项目 二.绑定远程仓库 1.微信开发者工具点击“版本管理” 2.创建远程仓库(有几种方式) 3.设置名称和邮箱 4.设置网络和认证 5.生成SSH秘钥步骤 6.把SSH key添加到Github里 三、推送代码到GitHub 一.在GitHub上创建项目 复…

Day1 微信小程序-小程序代码的构成

最近在学微信小程序,跟的黑马程序员的课,好记性不如烂笔头,记了些笔记,方便以后查阅。 一、小程序代码的构成--项目结构 1、目录结构: 说明:(1)、pages 用来存放小程序的所有页面&…