一、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. wix toolset将 cab 打包进msi

    在***wxs中添加配置 <MediaTemplate EmbedCab="yes" /> 下面是一个简单配置:(包含写注册表) <?xml version=&q ...

  2. Java学习第二周学习笔记

    20145307<Java程序设计>第二周学习总结 教材学习内容总结 Java语言中的很多基本语法都和C语言类似,以下Java中的基本语法 标识符 标识符是程序中自定义的一些名称. 由26 ...

  3. ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network SOC

    最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下. A 2.9TOPS/W Deep Convolutional N ...

  4. SSM到Spring Boot-从零开发校园商铺平台

    第1章 开发准备 本章包含课程介绍,同时讲解开发网站所需要准备的事情,并且带领大家从零开始搭建一个Maven Web. 1-1 课程导学 1-2 开发准备 第2章 项目设计和框架搭建 本章主要先带领大 ...

  5. 常用git代码提交命令

    知识点:本篇博客记录了日常开发中,所涉及到git代码提交命令 (一)初始化本地仓库,提交代码,提交到远程git远程仓库 git init    //初始化本地仓库 git add .   //将当前目 ...

  6. LeetCode——remove-duplicates-from-sorted-list-ii

    Question Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only dist ...

  7. Docker-Compose 一键部署Ningx+.Net Core+Redis集群

    在看该文章前,你需要对Docker有所了解. 1.创建WebApp应用程序 我使用的是.Net Core 1.0.1版本,创建一个MVC应用程序,并添加对Redis的引用.因为这些很基础,也很简单,这 ...

  8. Oracle函数中文转拼音(首字母)

    CREATE OR REPLACE FUNCTION FUN_GET_PYCODE(p_str IN VARCHAR2, p_flag NUMBER DEFAULT NULL) RETURN VARC ...

  9. ElasticSearch介绍与安装

    什么是ES? 1基于Apache Lucene构建的开源搜索引擎 2采用java编写,提供简单易用的RESTFul API 3轻松的横向扩展,可支持PB级的结构化或非结构化数据处理 ES的应用场景? ...

  10. 关于Java中常用加密/解密方法的实现

    安全问题已经成为一个越来越重要的问题,在Java中如何对重要数据进行加密解密是本文的主要内容. 一.常用的加密/解密算法 1.Base64 严格来说Base64并不是一种加密/解密算法,而是一种编码方 ...