Activiti框架提供的流程引擎配置类ProcessEngineConfiguration的类图如下:

下面的图是流程引擎的架构图:

由上图我们可以很清楚地从全局角度了解ProcessEngineConfiguration类:

1)EngineServices:该接口中定义了获取各种服务类实例对象的方法。

2)ProcessEngine:继承EngineServices接口,并增加了对流程引擎名称的获取以及关闭流程引擎的支持。

3)ProcessEngineImpl: 是引擎默认的实现类,对ProcessEngine接口中定义的方法进行实现,对外提供服务。实际上,这些对外提供的服务是由 ProcessEngineConfigurationImpl 构造的,ProcessEngineImpl 调用 ProcessEngineConfigurationImpl 的方法获得服务。

4)ProcessEngines:该类负责管理所有的流程引擎ProcessEngine集合,并负责流程引擎实例对象的注册、获取、注销等操作。

5)ProcessEngineConfiguration:该抽象类实现EngineServices接口,提供了一系列创建流程引擎配置类ProcessEngineConfiguration实例对象的方法。

6)ProcessEngineConfigurationImpl:该抽象类继承ProcessEngineConfiguration,负责创建一系列服务类实例对象、流程引擎实例对象以及ProcessEngineImpl类实例对象。该类可以通过流程配置文件交给Spring容器管理或者使用编程方式动态构建。

7)SpringProcessEngineConfiguration:主要用于整合Spring框架时使用,提供了几个重要功能:创建流程引擎实例对象,流程引擎启动之后自动部署配置的流程文档(需要设置),设置流程引擎连接的数据源、事务管理器等。

8)StandaloneProcessEngineConfiguration:标准的流程引擎配置类。

9)MultiSchemaMultiTenantProcessEngineConfiguration:“多数据库多租户”流程引擎配置类,Activiti通过此类为开发人员提供了自动路由机制,这样当流程引擎需要连接多个数据库进行操作时,客户端无须关心引擎到底连接的是哪一个数据库,该类通过路由规则自动选择需要操作的数据库,数据库的操作对客户端来说是透明的,客户端无须关心其内部路由实现机制。

10)JtaProcessEngineConfiguration:顾名思义,通过类名也知道该类支持JTA。

11)StandaloneInMemProcessEngineConfiguration:该类通常可以在开发环境中自测使用,默认采用H2数据库存储数据。

12)EngineServices提供的服务类如下:

service接口 作用
RepositoryService 流程仓库service,用于管理流程仓库,如部署、删除、读取流程资源
IdentityService 身份service,可以管理和查询用户、组之间的关系
RuntimeService 运行时service,处理所有正在运行状态的流程实例、任务等
TaskService 任务service,用于管理、查询任务,如签收、办理、指派等
FormSerivice 表单service,用于读取和流程、任务相关的表单数据
HistoryService 历史service,可以查询所有历史数据,如流程实例、任务、活动、附件等
ManagementService 引擎管理service,和具体业务无关,主要用于查询引擎配置、数据库、作业等

Activiti流程引擎架构概述相关推荐

  1. 这是我见过最好的流程引擎架构设计!

    大家好,我是宝哥! 导读:本文为各位分享现代流程引擎的定义与架构设计. 1 什么是流程引擎 流程引擎是一个底层支撑平台,是为提供流程处理而开发设计的.流程引擎和流程应用,以及应用程序的关系如下图所示. ...

  2. 【activiti】activiti流程引擎配置类

    activiti流程引擎配置类 1.流程引擎配置类 流程引擎的配置类:ProcessEngineConfiguration,通过ProcessEngineConfiguration可以创建工作流引擎P ...

  3. Activiti流程引擎

    jBPM是目前市场上主流开源工作引擎之一,在创建者Tom Baeyens离开JBoss后,jBPM的下一个版本jBPM5完全放弃了jBPM4的基础代码,基于Drools Flow重头来过,目前官网已经 ...

  4. 基于Activiti流程引擎的制造业解决方案

    一.客户背景 广东科达洁能股份有限公司(原广东科达机电股份有限公司,简称"科达洁能")创建于1992年,于2002年在上交所上市(股票代码:600499),涵盖建材机械(陶瓷机械. ...

  5. 学习笔记之-Activiti7工作流引擎,概述,环境搭建,类关系图,使用Activiti BPMN visualizer,流程变量,组任务 网关,Activiti整合Spring SpringBoot

    本篇学习笔记是观看黑马程序员Activiti7视频而得 Activiti7 一.工作流介绍 1.1 概念 工作流(Workflow),就是通过计算机对业务流程自动化执行管理.它主要解决的是" ...

  6. 开源流程引擎activiti、flowable、camunda选哪个好?

    市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.其中:Jbpm4.Activiti.Flowable.camunda四个框架同宗同源, ...

  7. osworkflow、jbpm、activiti、flowable、camunda开源流程引擎哪个好?

    市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.其中:Jbpm4.Activiti.Flowable.camunda四个框架同宗同源, ...

  8. 关于自学activiti开源流程引擎的一点点感悟和代码分享demo教程

    原文:关于自学activiti开源流程引擎的一点点感悟和代码分享demo教程 源代码下载地址:http://www.zuidaima.com/share/1765650437721088.htm 这应 ...

  9. Activiti工作流引擎基础入门【收藏可做笔记系列】

    Activiti基础-Activiti7 一.工作流介绍 1.1 概念 1.2 工作流系统 1.3 适用行业 1.4 具体应用 1.5 实现方式 二.Activiti7概述 2.1 介绍 2.1.1 ...

  10. 详解工作流框架Activiti的服务架构和组件

    摘要:通过这篇文章,可以对工作流有一个基本的认识,为后续工作流框架Activiti的学习打下坚实的基础. 本文分享自华为云社区<BPMN工作流的基本概念!详解工作流框架Activiti的服务架构 ...

最新文章

  1. 机房收费系统总结【2】-细节优化
  2. jupyter扩展插件Nbextensions的安装、使用
  3. vue-cli中的webpack配置
  4. mybatis 笔记记录
  5. Appium Python 六:管理应用和Activity
  6. 使用alertmanager对监控对象进行报警(微信)三
  7. linux系统怎么ping命令,Linux系统下的ping命令的使用
  8. 【数据分析】基于matlab GUI学生成绩管理系统【含Matlab源码 601期】
  9. 开发笔记之数字证书(二):国内数字证书企业与行情介绍
  10. ArcGIS为什么计算面积被禁用
  11. GIF图片批量改JPG格式
  12. oracle创建用户'表空间配额,牛刀小试:Oracle 用户表空间配额(quota )控制之随心所欲...
  13. 面试中怎样谈自己的缺点?
  14. android磁场传感器页面布局在哪,教程:Android传感器—传感器查询demo
  15. 2017-2018-2 20179215《密码与安全新技术》第1周作业
  16. 品优购项目--注册页面
  17. 灰色系统预测模型GM(1,1),GM(1,n)及Matlab实现
  18. Qt获取鼠标位置(绝对位置、相对位置)
  19. 彩灯循环控制系统 电路与电子技术 课程设计
  20. 【pygame游戏】用Python实现一个蔡徐坤大战篮球的小游戏,可还行?【附源码】

热门文章

  1. MATLAB的GUI设计——计算器
  2. 基于PaddleX构建专属行车助手,为交通安全保驾护航
  3. 量化派周灏:从物理博士到科技公司 CEO,不变的是“格物致理”
  4. PLC有几种编程语言?各有什么特点?
  5. android11下文件管理,华为文件管理器下载-华为文件管理器 安卓版v10.11.11.301-PC6安卓网...
  6. Python使用Opencv打开笔记本电脑摄像头报错解决办法
  7. 心已被爱伤透,情已为爱枯竭
  8. 北卡州立大学的数据分析学硕士项目排名大数据专业第一名
  9. 云计算和云服务区别是什么
  10. ctf 网络安全比赛简介