activiti(一)-相关概述及相关表的定义

官网

1、概述

Activiti 是一个开源的、以 Java 为中心的业务流程管理(BPM)平台,旨在帮助企业自动化和管理复杂的业务流程。其核心功能包括工作流管理、任务分配、事件处理、流程监控和集成等。

1.1、主要功能和特点

  • 流程设计和建模:
    • 支持 BPMN 2.0 标准,允许用户通过图形化界面设计和建模业务流程。
      提供用户友好的流程设计器,可以直观地定义任务、事件、网关和流程路径。
      流程执行:
    • Activiti 可以在各种环境中执行定义的流程,包括嵌入式应用程序和云环境。
      通过任务和事件的管理,自动处理业务逻辑,确保流程的顺利执行。
  • 任务管理:
    • 提供任务分配和管理功能,支持手动和自动任务分配。
    • 任务可以分配给特定用户或用户组,并支持任务的状态跟踪和更新。
  • 集成和扩展:
    • 提供丰富的 API,支持与外部系统的集成,如 ERP、CRM 和邮件服务等。
    • 可以通过 Java 代码或脚本扩展流程行为,实现定制化业务逻辑。
  • 监控和分析:
    • 实时监控流程执行情况,提供关键指标和报告,帮助用户了解流程性能和瓶颈。
    • 支持历史数据的存储和查询,便于流程的审计和分析。

1.2、BPM

BPM(Business Process Management),即业务流程管理,是一种规范化的构造端到端的业务流程,以持续的提高组织业务效率。常见商业管理教育如EMBA、MBA等均将BPM包含在内。

1.3、BPM 软件

  • BPM软件用于设计、执行、监控和优化业务流程。它帮助企业提高效率、降低成本并确保流程的合规性。
  • 根据企业中业务环境的变化,推进人与人之间、人与系统之间以及系统与系统之间的整合及调整的经营方法与解决方案的IT工具。
  • 通过BPM软件对企业内部及外部的业务流程的整个生命周期进行建模、自动化、管理监控和优化,使企业成本降低,利润得以大幅提升。

1.4、BPMN

业务流程建模与标注 (BPMN, Business Process Model and Notation) 是一种图形化表示法,用于描述和分析业务流程。BPMN 提供了一种标准化的方法来表示企业流程,使不同的利益相关者(包括业务分析师、流程设计师和技术开发人员)能够以一致和清晰的方式理解和交流业务流程。

  • 流程图基本元素:
    • 事件 (Event): 圆形符号,表示流程中的某个触发点或结果。例如,开始事件、结束事件、中间事件。
    • 活动 (Activity): 圆角矩形,表示流程中的一个操作或任务。例如,用户任务、服务任务、脚本任务。
    • 网关 (Gateway): 菱形符号,表示流程路径的分支或合并。例如,并行网关、排他网关、包含网关。
    • 连接对象 (Connecting Objects): 包括顺序流、消息流和关联,用于连接不同的流程元素。
    • 泳道 (Swimlane): 包括泳道和池,用于划分流程的责任区域,表示不同的角色或部门。
  • 扩展元素:
    • 数据对象 (Data Object): 表示在流程中使用或产生的数据。
    • 数据存储 (Data Store): 表示持续存在的数据存储位置。
    • 消息 (Message): 表示参与者之间传递的信息。
  • BPMN 的优势
    • 标准化:
      • BPMN 是由对象管理集团 (OMG) 标准化的,这意味着它具有广泛的行业认可和支持。
      • 通过标准化符号和表示法,BPMN 促进了不同企业和系统之间的流程沟通和理解。
    • 图形化和直观性:
      • BPMN 的图形化表示法使得复杂的业务流程变得直观和易于理解。
      • 不同的符号和图形元素使得业务流程的各个方面(如任务、事件、网关)一目了然。
    • 桥接业务与 IT:
      • BPMN 使得业务分析师和技术开发人员能够使用同一种语言进行交流和协作,从而提高了业务需求和技术实现之间的一致性。
    • 支持模拟和分析:
      • BPMN 模型不仅可以用于流程设计,还可以用于流程的模拟和分析,从而帮助企业优化流程效率和识别瓶颈。

2、存储表:

  • ACT_EVT_LOG: 存储事件日志。
字段说明
LOG_NR_日志记录的唯一标识符,自动递增,作为主键。
TYPE_事件类型,描述了该日志记录的类型,例如启动事件、任务完成事件等。
PROC_DEF_ID_关联的流程定义 ID,指向流程定义表中的记录,用于标识该事件属于哪个流程定义。
PROC_INST_ID_关联的流程实例 ID,指向流程实例表中的记录,用于标识该事件属于哪个流程实例。
EXECUTION_ID_关联的执行 ID,指向执行实例表中的记录,用于标识该事件属于哪个执行路径。
TASK_ID_关联的任务 ID,指向任务表中的记录,用于标识该事件涉及到哪个任务。
TIME_STAMP_事件发生的时间戳,精确到毫秒,记录事件的发生时间。
USER_ID_触发事件的用户 ID,记录哪个用户触发了该事件。
DATA_事件数据,存储为二进制大对象,包含事件的详细信息。
LOCK_OWNER_锁定该事件的所有者,用于并发控制,记录哪个进程或线程锁定了该事件。
LOCK_TIME_事件被锁定的时间,用于并发控制,记录事件被锁定的时间。
IS_PROCESSED_事件是否已处理的标志,0 表示未处理,1 表示已处理。
  • ACT_RE_DEPLOYMENT: 存储部署信息。
字段说明
ID_主键
NAME_用来存储部署的名称或描述信息
CATEGORY_用来标识部署的类别或分类信息
KEY_用来标识部署的关键信息
TENANT_ID_用来标识部署所属的租户标识
DEPLOY_TIME_部署时间
ENGINE_VERSION_用来存储引擎的版本信息
PROJECT_RELEASE_VERSION_用来存储项目发布的版本信息
VERSION_用来存储部署的版本信息
  • ACT_GE_BYTEARRAY: 存储字节数组数据。
字段说明
ID_唯一标识符用作主键
REV_版本号
NAME_部署的文件名称(BPMN文件名称)
DEPLOYMENT_ID_外键,关联 ACT_RE_DEPLOYMENT表中的 ID_ 列。
BYTES_用来存储大型二进制数据。(BPMN文件内容)
GENERATED_判断是否由系统生成
  • ACT_RE_MODEL: 存储模型信息。
字段说明
ID_主键,唯一标识
REV_标识版本号
NAME_模型名称
KEY_用来标识模型的关键信息
CATEGORY_用来标识模型的类别或分类信息
CREATE_TIME_模型的创建时间
LAST_UPDATE_TIME_模型最后修改时间
VERSION_版本信息
META_INFO_用来存储模型的元信息
DEPLOYMENT_ID_外键,关联 ACT_RE_DEPLOYMENT 表的主键ID_
EDITOR_SOURCE_VALUE_ID_外键,关联 ACT_GE_BYTEARRAY 表的主键ID_
EDITOR_SOURCE_EXTRA_VALUE_ID_外键,关联 ACT_GE_BYTEARRAY 表的主键ID_
TENANT_ID_用来标识模型所属的租户
  • ACT_RE_PROCDEF: 存储流程定义信息。
字段说明
ID_主键唯一标识
REV_代表某个版本的修订号
CATEGORY_用来标识流程定义的类别或分类信息(流程文件targetNamespace的属性值)
NAME_部署的流程名称(流程文件process元素的name属性值)
KEY_用来标识流程定义的关键信息(流程文件process元素的id属性值)
VERSION_存储流程定义的版本号
DEPLOYMENT_ID_部署版本ID值,关联 ACT_RE_DEPLOYMENT表ID_
RESOURCE_NAME_用来存储资源的名称
DGRM_RESOURCE_NAME_用来存储流程图资源的名称
DESCRIPTION_用来存储流程定义的描述信息
HAS_START_FORM_KEY_表示是否有启动表单键的标志
HAS_GRAPHICAL_NOTATION_表示是否有图形符号的标志
SUSPENSION_STATE_表示流程定义的挂起状态 (1激活,2挂起)
TENANT_ID_用来标识流程定义所属的租户
ENGINE_VERSION_用来存储引擎的版本信息
  • ACT_PROCDEF_INFO: 存储流程定义扩展信息。
字段说明
ID_主键、唯一标识
PROC_DEF_ID_外键,关联 ACT_RE_PROCDEF 表 ID_
REV_代表某个版本的修订号
INFO_JSON_ID_外键,关联 ACT_GE_BYTEARRAY 表 ID_
  • ACT_GE_PROPERTY: 存储引擎属性和配置信息。
字段说明
NAME_主键,作为唯一标识
VALUE_用于存储与名称相关联的值
REV_代表某个版本的修订号

3、运行时表:

  • ACT_RU_EXECUTION: 存储流程实例和执行信息。
字段说明
ID_主键,唯一标识
REV_记录版本号,用于处理并发更新
PROC_INST_ID_关联的流程实例的唯一标识符(外键,关联 act_ru_execution 表的ID_)
BUSINESS_KEY_业务键,用于将业务数据与流程实例关联
PARENT_ID_父执行实例的唯一标识符 (外键,关联 act_ru_execution 表的ID_)
PROC_DEF_ID_关联的流程定义的唯一标识符 (外键,关联 act_re_procdef 表的ID_)
SUPER_EXEC_上级执行实例的唯一标识符 (外键,关联 act_ru_execution 表的ID_)
ROOT_PROC_INST_ID_根流程实例的唯一标识符
ACT_ID_当前执行的活动节点的标识符
IS_ACTIVE_标识当前执行是否处于激活状态
IS_CONCURRENT_标识当前执行是否是并发执行的一部分
IS_SCOPE_标识当前执行是否是一个作用域
IS_EVENT_SCOPE_标识当前执行是否是事件作用域
IS_MI_ROOT_标识当前执行是否是多实例的根
SUSPENSION_STATE_标识当前执行的挂起状态
CACHED_ENT_STATE_缓存的实体状态
TENANT_ID_租户标识符
NAME_当前执行实例的名称
START_TIME_当前执行实例的开始时间
START_USER_ID_启动当前执行实例的用户标识符
LOCK_TIME_当前执行实例的锁定时间
IS_COUNT_ENABLED_标识是否启用了计数
EVT_SUBSCR_COUNT_事件订阅数量
TASK_COUNT_任务数量
JOB_COUNT_工作数量
TIMER_JOB_COUNT_定时器工作数量
SUSP_JOB_COUNT_挂起工作数量
DEADLETTER_JOB_COUNT_死信工作数量
VAR_COUNT_变量数量
ID_LINK_COUNT_标识链接数量
  • ACT_RU_TASK: 存储任务信息。
字段说明
ID_主键,任务的唯一标识符
REV_记录版本号,用于处理并发更新
EXECUTION_ID_关联的执行实例的唯一标识符 (外键,关联 act_ru_execution 表的ID_)
PROC_INST_ID_关联的流程实例的唯一标识符 (外键,关联 act_ru_execution 表的ID_)
PROC_DEF_ID_关联的流程定义的唯一标识符(外键,关联 act_re_procdef 表的ID_)
NAME_任务的名称
PARENT_TASK_ID_父任务的唯一标识符 (自关联 )
DESCRIPTION_任务的描述
TASK_DEF_KEY_任务定义的键
OWNER_任务的所有者 (存在委托行为才会有值)
ASSIGNEE_任务的受理人
DELEGATION_任务的委托状态
PRIORITY_任务的优先级
CREATE_TIME_任务的创建时间
DUE_DATE_任务的截止日期
CATEGORY_任务的类别
SUSPENSION_STATE_任务的挂起状态
TENANT_ID_租户标识符
FORM_KEY_关联的表单键
CLAIM_TIME_任务的认领时间
  • ACT_RU_IDENTITYLINK: 存储运行时的用户组、用户和任务之间的关联信息。
字段说明
ID_身份链接的唯一标识符
REV_记录版本号,用于处理并发更新
GROUP_ID_关联的用户组标识符
TYPE_身份链接的类型(受理人(assignee),候选人(candidate),所有者(owner)、起动器(starter)、参与者(participant))
USER_ID_关联的用户标识符
TASK_ID_关联的任务标识符(外键,关联 act_ru_task 表的ID_)
PROC_INST_ID_关联的流程实例标识符(外键,关联 act_ru_execution 表ID_)
PROC_DEF_ID_关联的流程定义标识符(外键,关联 act_re_procdef 表ID_)
  • ACT_RU_VARIABLE: 存储运行时变量。
字段说明
ID_变量的唯一标识符
REV_记录版本号,用于处理并发更新
TYPE_变量的数据类型
NAME_变量的名称
EXECUTION_ID_关联的执行实例的唯一标识符(外键,关联 act_ru_execution 表的ID_)
PROC_INST_ID_关联的流程实例的唯一标识符(外键,关联 act_ru_execution 表的ID_)
TASK_ID_关联的任务ID标识符
BYTEARRAY_ID_关联的字节数组标识符
DOUBLE_变量的双精度浮点值
LONG_变量的长整型值
TEXT_变量的文本值
TEXT2_变量的附加文本值
  • ACT_RU_JOB: 存储作业信息。
字段说明
ID_任务的唯一标识符
REV_记录版本号,用于处理并发更新
TYPE_任务的类型
LOCK_EXP_TIME_任务的锁定过期时间
LOCK_OWNER_任务锁定的所有者
EXCLUSIVE_是否为排他任务
EXECUTION_ID_关联的执行实例的唯一标识符(外键,关联 act_ru_execution 表的ID_)
PROCESS_INSTANCE_ID_关联的流程实例的唯一标识符(外键,关联 act_ru_execution 表的ID_)
PROC_DEF_ID_关联的流程定义的唯一标识符(外键,关联 act_re_procdef 表的ID_)
RETRIES_重试次数
EXCEPTION_STACK_ID_关联的异常堆栈的唯一标识符(外键,关联 act_ge_bytearray 表的ID_)
EXCEPTION_MSG_异常消息
DUEDATE_任务的到期时间
REPEAT_重复配置
HANDLER_TYPE_处理器类型
HANDLER_CFG_处理器配置
TENANT_ID_租户标识符
  • ACT_RU_TIMER_JOB: 存储定时器作业信息。
字段说明
ID_定时任务的唯一标识符
REV_记录版本号,用于处理并发更新
TYPE_定时任务的类型
LOCK_EXP_TIME_任务的锁定过期时间
LOCK_OWNER_任务锁定的所有者
EXCLUSIVE_是否为排他任务
EXECUTION_ID_关联的执行实例的唯一标识符(外键,关联 act_ru_execution 表的ID_)
PROCESS_INSTANCE_ID_关联的流程实例的唯一标识符(外键,关联 act_ru_execution 表的ID_)
PROC_DEF_ID_关联的流程定义的唯一标识符(外键,关联 act_re_procdef 表的ID_)
RETRIES_重试次数
EXCEPTION_STACK_ID_关联的异常堆栈的唯一标识符(外键,关联 act_ge_bytearray 表ID_)
EXCEPTION_MSG_异常消息
DUEDATE_任务的到期时间
REPEAT_重复配置
HANDLER_TYPE_处理器类型
HANDLER_CFG_处理器配置
TENANT_ID_租户标识符
  • ACT_RU_SUSPENDED_JOB: 存储暂停的作业信息。
字段说明
ID_被挂起任务的唯一标识符
REV_记录版本号,用于处理并发更新
TYPE_任务的类型
EXCLUSIVE_是否为排他任务
EXECUTION_ID_关联的执行实例的唯一标识符(外键,关联 act_ru_execution 表的ID_)
PROCESS_INSTANCE_ID_关联的流程实例的唯一标识符(外键,关联 act_ru_execution 表的ID_)
PROC_DEF_ID_关联的流程定义的唯一标识符(外键,关联 act_re_procdef 表的ID_)
RETRIES_重试次数
EXCEPTION_STACK_ID_关联的异常堆栈的唯一标识符(外键,关联 act_ge_bytearray 表的ID_)
EXCEPTION_MSG_异常消息
DUEDATE_任务的到期时间
REPEAT_重复配置
HANDLER_TYPE_处理器类型
HANDLER_CFG_处理器配置
TENANT_ID_租户标识符
  • ACT_RU_DEADLETTER_JOB: 存储死信作业信息。
字段说明
ID_死信任务的唯一标识符
REV_记录版本号,用于处理并发更新
TYPE_任务的类型
EXCLUSIVE_是否为排他任务
EXECUTION_ID_关联的执行实例的唯一标识符(外键,关联 act_ru_execution 表ID_)
PROCESS_INSTANCE_ID_关联的流程实例的唯一标识符(外键,关联 act_ru_execution 表ID_)
PROC_DEF_ID_关联的流程定义的唯一标识符(外键,关联 act_re_procdef 表ID_)
EXCEPTION_STACK_ID_关联的异常堆栈的唯一标识符(外键,关联 act_ge_bytearray 表的ID_)
EXCEPTION_MSG_异常消息
DUEDATE_任务的到期时间
REPEAT_重复配置
HANDLER_TYPE_处理器类型
HANDLER_CFG_处理器配置
TENANT_ID_租户标识符
  • ACT_RU_EVENT_SUBSCR: 存储事件订阅信息。
字段说明
ID_事件订阅的唯一标识符
REV_记录版本号,用于处理并发更新
EVENT_TYPE_事件的类型
EVENT_NAME_事件的名称
EXECUTION_ID_关联的执行实例的唯一标识符(外键,关联 act_ru_execution 表的ID_)
PROC_INST_ID_关联的流程实例的唯一标识符
ACTIVITY_ID_事件所属的活动标识符
CONFIGURATION_事件的配置信息
CREATED_创建时间,默认值为当前时间戳
PROC_DEF_ID_关联的流程定义的唯一标识符
TENANT_ID_租户标识符
  • ACT_RU_INTEGRATION: 存储集成信息。
字段说明
ID_集成记录的唯一标识符
EXECUTION_ID_关联的执行实例的唯一标识符
PROCESS_INSTANCE_ID_关联的流程实例的唯一标识符
PROC_DEF_ID_关联的流程定义的唯一标识符
FLOW_NODE_ID_流程节点的唯一标识符
CREATED_DATE_创建时间戳,默认值为当前时间,并在更新时自动更新为当前时间戳

4、历史表:

  • ACT_HI_PROCINST: 存储历史流程实例。
字段说明
ID_历史流程实例的唯一标识符
PROC_INST_ID_流程实例的唯一标识符
BUSINESS_KEY_业务键,通常用于关联业务数据
PROC_DEF_ID_流程定义的唯一标识符
START_TIME_流程实例的开始时间
END_TIME_流程实例的结束时间
DURATION_流程实例的持续时间,以毫秒为单位
START_USER_ID_启动流程实例的用户标识符
START_ACT_ID_启动活动的标识符
END_ACT_ID_结束活动的标识符
SUPER_PROCESS_INSTANCE_ID_父流程实例的唯一标识符(如果当前实例是子流程的一部分)
DELETE_REASON_删除原因,记录流程实例被删除的原因
TENANT_ID_租户标识符
NAME_流程实例的名称
  • ACT_HI_ACTINST: 存储历史活动实例。
字段说明
ID_历史活动实例的唯一标识符
PROC_DEF_ID_流程定义的唯一标识符
PROC_INST_ID_流程实例的唯一标识符
EXECUTION_ID_执行实例的唯一标识符
ACT_ID_活动节点的唯一标识符
TASK_ID_任务的唯一标识符
CALL_PROC_INST_ID_调用子流程实例的唯一标识符(如果当前实例是子流程的一部分)
ACT_NAME_活动节点的名称
ACT_TYPE_活动节点的类型(例如用户任务、服务任务等)
ASSIGNEE_活动任务的受理人
START_TIME_活动实例的开始时间
END_TIME_活动实例的结束时间
DURATION_活动实例的持续时间,以毫秒为单位
DELETE_REASON_删除原因,记录活动实例被删除的原因
TENANT_ID_租户标识符
  • ACT_HI_TASKINST: 存储历史任务实例。
字段说明
ID_历史任务实例的唯一标识符
PROC_DEF_ID_流程定义的唯一标识符
TASK_DEF_KEY_任务定义的键
PROC_INST_ID_流程实例的唯一标识符
EXECUTION_ID_执行实例的唯一标识符
NAME_任务的名称
PARENT_TASK_ID_父任务的唯一标识符
DESCRIPTION_任务的描述
OWNER_任务的所有者
ASSIGNEE_任务的受理人
START_TIME_任务的开始时间
CLAIM_TIME_任务的认领时间
END_TIME_任务的结束时间
DURATION_任务的持续时间,以毫秒为单位
DELETE_REASON_删除原因,记录任务实例被删除的原因
PRIORITY_任务的优先级
DUE_DATE_任务的截止日期
FORM_KEY_任务的表单键
CATEGORY_任务的类别
TENANT_ID_租户标识符
  • ACT_HI_VARINST: 存储历史变量实例。
字段说明
ID_历史变量实例的唯一标识符
PROC_INST_ID_流程实例的唯一标识符
EXECUTION_ID_执行实例的唯一标识符
TASK_ID_任务的唯一标识符
NAME_变量的名称
VAR_TYPE_变量的类型
REV_变量的版本号
BYTEARRAY_ID_字节数组的唯一标识符(如果变量是字节数组类型)
DOUBLE_变量的 double 类型值
LONG_变量的 long 类型值
TEXT_变量的文本值
TEXT2_变量的附加文本值
CREATE_TIME_变量的创建时间
LAST_UPDATED_TIME_变量的最后更新时间
  • ACT_HI_DETAIL: 存储历史详情。
字段说明
ID_历史详细信息的唯一标识符
TYPE_详细信息的类型
PROC_INST_ID_流程实例的唯一标识符
EXECUTION_ID_执行实例的唯一标识符
TASK_ID_任务的唯一标识符
ACT_INST_ID_活动实例的唯一标识符
NAME_变量的名称
VAR_TYPE_变量的类型
REV_变量的版本号
TIME_记录的时间戳
BYTEARRAY_ID_字节数组的唯一标识符(如果变量是字节数组类型)
DOUBLE_变量的 double 类型值
LONG_变量的 long 类型值
TEXT_变量的文本值
TEXT2_变量的附加文本值
  • ACT_HI_ATTACHMENT: 存储历史附件信息。
字段说明
ID_附件的唯一标识符
REV_附件的版本号
USER_ID_上传附件的用户标识符
NAME_附件的名称
DESCRIPTION_附件的描述
TYPE_附件的类型
TASK_ID_关联的任务标识符
PROC_INST_ID_关联的流程实例标识符
URL_附件的 URL
CONTENT_ID_附件内容的标识符
TIME_附件创建的时间戳
  • ACT_HI_COMMENT: 存储历史评论信息。
字段说明
ID_评论的唯一标识符
TYPE_评论的类型
TIME_评论创建的时间戳
USER_ID_发布评论的用户标识符
TASK_ID_关联的任务标识符
PROC_INST_ID_关联的流程实例标识符
ACTION_评论的操作类型
MESSAGE_评论的消息内容
FULL_MSG_评论的完整消息内容,存储为长二进制大对象 (longblob)
  • ACT_HI_IDENTITYLINK: 存储历史用户组、用户和任务之间的关联信息。
字段说明
ID_唯一标识符
GROUP_ID_关联的用户组标识符
TYPE_标识类型(如候选人、参与者等)
USER_ID_关联的用户标识符
TASK_ID_关联的任务标识符
PROC_INST_ID_关联的流程实例标识符

5、UML 类图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值