activiti01

概述

工作流(workflow)是对工作流程及其各操作步骤之间业务规则的抽象,概括描述

工作流建模 即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型

表达并对其实施计算

ProcessEnigneConfiguration (流程引擎配置载体 ) 通过读取 activiti.cfg.xml 获取配置信息,

通过流程引擎配置对象 构建 流程引擎实体(ProcessEngine)

processEngine 获取其他服务

--repositoryService 负责对流程定义文件的管理,主要操作静态的文件,部署两种流程对象,部署对象,资源对象(1对多)

--RuntimeService 对流程进行控制,对流程实例的启动,暂停,挂起,激活,也可以查询流程实例的信息,对流程上下文进行设置和获取

--TaskService 主要管理UserTask人工任务,对人工任务进行增删改查

--IdentityService 对用户和用户组的管理

--FormServie 解析流程设计表单,对表单的数据类型和格式进行渲染

--HistoryService 提供对运行结束流程实例的查询功能

--ManagementService 对流程引擎的基础管理

--DynamicBpmService 动态对流程模型进行修改

数据模型设计

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

BPMN2.0

是一套业务流程模型与符号的建模标准

执行语义来描述元素操作

xml为载体,符号可视化

BPMN2.0元素

FlowObjects 流对象

Artifacts 描述对象

ConnectingObject 连接对象

Data数据

Swimlanes 泳道

基于activiti 6.0基于学习,源码 https://github.com/quyangyang/Activiti/tree/6.x

分析源码目录

distro是发布用的目录,eclipse是开发的配置文件

modules是重要的源码模块包结构。

qa中文件关于测试使用的配置脚本文件

scripts一些启动相关的脚本,start-ui.sh启动UI

modules下activiti-engine下的java文件介绍  目录为 Activiti-6.xmodulesactiviti-enginesrcmainjavaorgactivitiengine

cfg 配置文件相关,Activiti启动依赖的配置文件。
compatibility 跟兼容性相关的包结构,Activiti5到6不兼容根据这里的内容进行适配。
debug 调试相关的内容,看到Activiti内部运行的机制。
delegate 制定的节点文件。
event 事件和监听机制。
form 表单,用来定义通用的表单。
history 运行产生的数据迁移到这里。
identity 权限与身份认证的配置。
impl 对应的实现包。
logging 跟日志相关,里面只有一个LogMDC类。
management 管理相关的接口与API。
parse 流程是XML文件,需要解析,parse用来解析相关的工作。
query 跟数据库操作的抽象查询接口。
repository 流程部署到数据库的一些文件。
runtime 与history有一定对应关系。执行中数据在这里处理。结束后移除到history中。
task 流程节点遇到人工处理的作业相关文件。
test 支持单元或集成测试的工作类、帮助

engine目录下面是一些相关的异常文件、重要的API与类。

modules下activiti-engine下的resources文件介绍

db:跟数据库相关的文件。其中create就是创建的脚本。drop关于删除的脚本。

mapping:是mybatis的对应文件。

properties:各种数据库的配置文件

upgrade:设计到版本升级时对sql语句的升级。

modules下其他文件介绍

activiti-spring:关于Spring集成模块

activiti-form-engine:表单引擎模块

activiti-Idap:用于跟用户做集成模块

activiti-bpmn-converter:模型转换模块

activiti-image-generator:流程图绘制模块

原文地址:https://www.cnblogs.com/quyangyang/p/11136357.html