Activiti6学习1——初识

初步学习其流程引擎及配置

国内外开源工作流众多,Activiti是其中较为出众的一款,它由jbpm发展而来,最新版本已发展到Activiti7,它的设计遵循bpmn规范并进行了扩展,服务层使用java开发,有web及IDE端的流程设计器,持久层框架采用mybatis,支持多种数据库类型(如oracle、mysql、postgreSQL等等)。

流程引擎配置类的类图如下:
Activiti6学习1——初识

主要服务

EngineServices中定义了获取各种服务类实例对象的方法
ProcessEngine继承了EngineServices并增加了对流程引擎名称获取及关闭流程引擎的支持
ProcessEngineImpl对ProcessEngine接口中定义的方法进行实现
ProcessEngines负责管理所有的流程引擎,如注册、获取、注销操作等
ProcessEngineConfiguration是一个抽象类,它实现了EngineServices接口,提供了一系列创建流程引擎配置类ProcessEngineConfiguration实例对象的方法
ProcessEngineConfigurationImpl继承ProcessEngineConfiguration,负责创建一系列服务类实例对象、流程引擎实例对象,这个类可以通过流程配置文件交给Spring容器管理或使用编程方式动态创造
JtaProcessEngineConfiguration这个类支持JTA
MultiSchemaMultiTenantProcessEngineConfiguration支持多数据库多租户,当流程引擎需要连接多个数据库时,通过这个类的自动路由机制自动选择需要操作的数据库
StandaloneProcessEngineConfiguration标准流程引擎配置类
StandaloneInMemProcessEngineConfiguration采用H2数据库在开发环境中测试使用

流程引擎基于配置主要提供了7大服务:
FormService提供一系列操作流程表单的方法
HistoryService提供一系列查询历史流程实例、历史变量、历史任务的方法
IdentityService提供一系列操作用户或用户组的方法
RepositoryService提供一系列操作流程定义的方法
RuntimeService提供一系列操作流程实例的方法
TaskService提供一系列操作任务的方法,如:完成、挂起、激活、认领、删除等
ManagementService提供查询数据库中表的数据、元数据及执行命令等方法

其流程引擎架构图可以表示为:
Activiti6学习1——初识

上一篇:Activiti6-流程跟踪监控图-节点-流程线高亮显示-支持通过、不通过、驳回、退回


下一篇:记一次spring循环依赖