一、flowable的五个引擎

flowable包含五个引擎,分别是:

  • 1、内容引擎 ContentEngine
  • 2、身份识别引擎 IdmEngine
  • 3、表单引擎 FormEngine
  • 4、决策引擎 DmnEngine
  • 5、流程引擎 ProcessEngine

二、引擎包含的服务

每个引擎由相对应的 EngineConfiguration进行创建,在创建过程中对每个引擎使用的服务进行初始化。

1、内容引擎 ContentEngine

内容引擎包含的服务有:

  1. ContentManagementService

    ContentManagementService提供对数据库表的管理操作,包括:

    • Map<String, Long> getTableCount() 获取每个表的记录数量;
    • String getTableName(Class<?> flowableEntityClass); 根据实体类获得对应的数据库表名;
    • TableMetaData getTableMetaData(String tableName); 根据数据库表名获得表的列名和列类型;
    • TablePageQuery createTablePageQuery(); 创建一个可以进行排序、根据条件分页的查询类。
  2. ContentService

    实现对内容的创建、删除、保存和获取的基本操作。

     ContentItem newContentItem();
    
    void saveContentItem(ContentItem contentItem);
    
    void saveContentItem(ContentItem contentItem, InputStream inputStream);
    
    InputStream getContentItemData(String contentItemId);
    
    void deleteContentItem(String contentItemId);
    
    void deleteContentItemsByProcessInstanceId(String processInstanceId);
    
    void deleteContentItemsByTaskId(String taskId);
    
    ContentItemQuery createContentItemQuery();
  3. ContentEngineConfiguration

    ContentEngineConfiguration最主要的作用是提供Mybatis的封装,实现数据库相关配置的获取。

    同时,内容引擎配置还提供了操作系统级的文件操作的路径设置、文件读取、文件保存的功能。

2、身份识别引擎 IdmEngine

身份识别引擎包含的服务有:

  1. IdmIdentityService

    提供用户的创建、修改、删除、密码修改、登录、用户头像设置等;

    提供组Group的创建、删除、用户与组关系的关联、删除关联;

    提供权限的创建、删除、关联等。

  2. IdmManagementService

    对身份识别相关的数据库表进行统计、获取表的列信息。

  3. IdmEngineConfiguration

    提供数据库配置信息。

3、表单引擎 FormEngine

表单引擎包含的服务有:

  1. FormManagementService
  2. FormRepositoryService
  3. FormService
  4. FormEngineConfiguration

4、决策引擎 DmnEngine

决策引擎包含的服务有:

  1. DmnManagementService
  2. DmnRepositoryService
  3. DmnRuleService
  4. DmnHistoryService
  5. DmnEngineConfiguration

5、流程引擎 ProcessEngine

流程引擎包含的服务有:

  1. RepositoryService
  2. RuntimeService
  3. HistoryService
  4. IdentityService
  5. TaskService
  6. FormService
  7. ManagementService
  8. DynamicBpmnService

flowable 五个引擎和组成引擎的服务的更多相关文章

  1. 【repost】浏览器内核、渲染引擎、js引擎

    [1]定义 浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎 渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具[2]常见引擎 渲染引擎: firef ...

  2. 浏览器内核、渲染引擎、js引擎

    [1]定义 浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎 渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具 [2]常见引擎 渲染引擎: fire ...

  3. F2工作流引擎这工作流引擎体系架构(二)

    F2工作流体系架构概览图 为了能更好的了解F2工作流引擎的架构体系,花了些时间画了整个架构的体系图.F2工作流引擎遵循参考WFCM规范,目标是实现轻量级的工作流引擎,支持多种数据库及快速应用到任何基于 ...

  4. 【转】浏览器内核、渲染引擎、js引擎

    [1]定义 浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎 渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具[2]常见引擎 渲染引擎: firef ...

  5. GIS中的引擎:地图引擎

    什么是地图引擎?它和地图软件有什么区别? 引擎一词是英文单词engine的音译,通常指发动机,就是动力输出设备.诸如汽车.轮船.飞机的动力提供的核心设备就是引擎.IT领域中,常听说的有搜索引擎.图形引 ...

  6. 浏览器内核、渲染引擎、JS引擎简介

    一.定义 浏览器内核分成两部分:渲染引擎和JS引擎. 由于JS引擎越来越独立,浏览器内核 就倾向于 单指 渲染引擎.  渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具.(说白了,就是按照 ...

  7. 浏览器内核、排版引擎、js引擎

    [定义] 浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“渲染引擎”,不过我们一般习惯将之称为“浏览器内核”.负责对网页语法的解释(如标准通用标记语 言下的一个应用HT ...

  8. 关于广州xx公司对驰骋BPM, 流程引擎表单引擎 常见问题解答

    关于广州xx公司对驰骋BPM, 流程引擎表单引擎 常见问题解答 @驰骋工作流,ccflow周朋 周总早, ccflow 功能很强大,在体验过程中,以下几个问题需沟通下: 先使用.net 再使用java ...

  9. 深入浏览器工作原理和JS引擎(V8引擎为例)

    浏览器工作原理和JS引擎 1.浏览器工作原理 在浏览器中输入查找内容,浏览器是怎样将页面加载出来的?以及JavaScript代码在浏览器中是如何被执行的? 大概流程可观察以下图: 首先,用户在浏览器搜 ...

随机推荐

  1. Clonal hematopoiesis of indeterminate potential(意义不明的克隆性造血)-CHIP

    意义不明的克隆性造血是指由一个造血干细胞或者其他早期的起始血细胞为了更好的适应环境而发展成一个带有一些基因变异的亚型. 这个亚型带有基因变异一般是非驱动性的,而且该亚型占血细胞的比率跟年龄有很大的相关 ...

  2. java类库字符串操作

    在java类库中,java给我们提供了字符串几个特别的操作,分别是String,Stringbuffer,Stringbuilder等.下面就对这几个类做一个简单的介绍.首先,我们先了解一下Strin ...

  3. Html基本用法

    hmtl hyper text markup language  超文本标记语言 超文本:超越一般的文本 变色 加粗 变大 甚至设置超链接 标记:浏览器已经定义好的 一些由尖括号括起来的特殊符号 语言 ...

  4. 如何打开windows的远程桌面

    WINDOWS 2003/XP 系列设置方法 右键点击[我的电脑]选择[属性],进入[系统属性]界面,点击[远程]选项卡,勾选[启用这台计算机上的远程桌面]即可. 2003/XP系统默认只允许计算机a ...

  5. scala(一)方法&函数

    写在前面 众所周知,scala一向宣称自己是面向函数的编程,(java表示不服,我是面向bean的编程!)那什么是函数? 在接触java的时候,有时候用函数来称呼某个method(实在找不出词了),有 ...

  6. Protocol Buffers数据传输及存储协议简单使用

    我们知道Protocol Buffers是Google定义的一种跨语言.跨平台.可扩展的数据传输及存储的协议,因为将字段协议分别放在传输两端,传输数据中只包含数据本身,不需要包含字段说明,所以传输数据 ...

  7. 【网络优化】Batch Normalization(inception V2) 论文解析(转)

    前言 懒癌翻了,这篇不想写overview了,公式也比较多,今天有(zhao)点(jie)累(kou),不想一点点写latex啦,读论文的时候感觉文章不错,虽然看似很多数学公式,其实都是比较基础的公式 ...

  8. Linux计划任务,自动删除n天前的旧文件

    Linux计划任务,自动删除n天前的旧文件 linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,但需求总是多方面的嘛-我就觉得让系统定时 ...

  9. enabled和priority属性

    本篇来继续学习@Test下的注释,这篇学习两个属性的基本使用.第一个是设置该条用例不被执行,第二个的作用是设置用例执行的优先顺序. 1. 属性enabled 在Testng中,如果方法前面添加了@Te ...

  10. vue下个兄弟节点

    checkOne(e) { e.currentTarget.nextElementSibling.style.background = 'red' }