[TOC]
*****
> 學習Activiti前,有一些基本知識是我們需要了解的。
## 1、Activiti官網
官網地址:[https://www.activiti.org/](https://www.activiti.org/),截止2020.05.27,Activiti最新版本是7.1.0.m6
Github地址:[https://github.com/Activiti/Activiti](https://github.com/Activiti/Activiti)

## 2、七大接口
Activiti引擎提供了7大Service接口,均可以通過ProcessEngine(流程引擎獲取)

## 3、四大流程設計器
* Activiti Modeler(推薦):基于Web的流程設計器,可以實現瀏覽器繪制activiti流程圖,**后面有章節專門介紹集成方法**

* Eclipse Designer(推薦):Eclipse插件,用來繪制activiti流程圖,
集成教程:[https://blog.csdn.net/u012359995/article/details/47753293](https://blog.csdn.net/u012359995/article/details/47753293)
* bpmn.js (推薦):高顏值流程設計器

官網:[https://bpmn.io/toolkit/bpmn-js/](https://bpmn.io/toolkit/bpmn-js/)
* IDEA actiBPM:IDEA插件,兼容性不是很好,不建議使用
安裝教程:[https://www.cnblogs.com/No2-explorer/p/11032469.html](https://www.cnblogs.com/No2-explorer/p/11032469.html)

## 4、28張表
activiti每個版本的表數量不一樣,activiti6一共有28張表。
### 表分類
#### 4.1 ACT\_RE\_XXX
一共 3 張表。
~~~
ACT_RE_DEPLOYMENT(部署信息表)用來存儲部署時需要持久化保存下來的信息。
ACT_RE_MODEL (流程設計模型表) 創建流程的設計模型時,保存在該數據表中。
ACT_RE_PROCDEF(流程定義,解析表)流程解析表,解析成功了,在該表保存一條記錄。業務流程定義數據表。
~~~
#### ACT\_RU\_XXX
一共 9 張表。
~~~
ACT_RU_EVENT_SUBSCR (運行時事件)
ACT_RU_EXECUTION(運行時流程執行實例)核心,我的待辦任務查詢表。
ACT_RU_IDENTITYLINK(身份聯系)主要存儲當前節點參與者的信息, 任務參與者數據表。
ACT_RU_JOB(運行中的任務)運行時定時任務數據表。
ACT_RU_TASK (運行時任務數據表)(執行中實時任務)待辦任務查詢表
ACT_RU_VARIABLE (運行時流程變量數據表)
~~~

**Activiti 6.0.0 新增的 3 張表**
~~~
ACT_RU_DEADLETTER_JOB
ACT_RU_SUSPENDED_JOB
ACT_RU_TIMER_JOB
~~~
#### 4.3 ACT\_HI\_XXX
一共 8 張表。
~~~
ACT_HI_ACTINST(歷史節點表)歷史活動信息。這里記錄流程流轉過的所有節點,與 HI_TASKINST 不同的是,HI_TASKINST 只記錄 usertask 內容。
ACT_HI_ATTACHMENT(附件信息)
ACT_HI_COMMENT(歷史審批意見表)
ACT_HI_DETAIL(歷史詳細信息)歷史詳情表:流程中產生的變量詳細,包括控制流程流轉的變量,業務表單中填寫的流程需要用到的變量等。
ACT_HI_IDENTITYLINK (歷史流程人員表)任務參與者數據表。主要存儲歷史節點參與者的信息。
ACT_HI_PROCINST(歷史流程實例信息)核心表
ACT_HI_TASKINST(歷史任務流程實例信息)核心表
ACT_HI_VARINST(歷史變量信息)
~~~
#### 4.4 ACT\_ID\_XXX
一共 4 張表。
~~~
ACT_ID_INFO(用戶擴展信息表)用戶擴展信息表。目前該表未用到。
ACT_ID_MEMBERSHIP(用戶用戶組關聯表)用來保存用戶的分組信息
ACT_ID_USER(用戶信息表)
ACT_ID_GROUP(用戶組表)用來存儲用戶組信息。
~~~
#### 4.5 其他
一共 4 張表。
~~~
ACT_GE_BYTEARRAY(通用的流程定義和流程資源)用來保存部署文件的大文本數據。
保存流程定義圖片和 xml、Serializable(序列化) 的變量, 即保存所有二進制數據,特別注意類路徑部署時候,不要把 svn 等隱藏文件或者其他與流程無關的文件也一起部署到該表中,會造成一些錯誤(可能導致流程定義無法刪除)。
ACT_GE_PROPERTY(系統相關屬性)屬性數據表。存儲這個流程引擎級別的數據。
ACT_EVT_LOG: EVT表示EVENT,目前只有一張表ACT_EVT_LOG,存儲事件處理日志,方便管理員跟蹤處理。
ACT_PROCDEF_INFO(流程定義擴展表)關聯ACTGE_BYTEARRAY與PROC_DEF_ID表。
~~~
- 使用教程
- 1、環境說明
- 2、導入教程
- 3、系統展示
- 4、更新歷史
- 搭建教程
- 第一章:Activiti模塊
- 1、基本概念
- 2、資料下載
- 3、環境搭建
- 4、集成Activiti-Modeler流程設計器
- 5、七大Service接口
- 6、流程定義文件—流程定義—流程模型 的相互轉化
- 7、用戶和用戶組
- 8、任務表單
- 8.1、表單分類
- 8.2 、動態表單實戰、集成Swagger、Logback
- 8.3、外置表單實戰
- 8.4、普通表單實戰,集成Thymeleaf,Mybatis-Plus
- 8.5、表單模式選型
- 9、多實例(會簽)
- 10、子流程和調用活動
- 10.1、子流程
- 10.2、事件子流程
- 10.3、調用活動
- 10.4、事務子流程
- 11、流程歷史管理、補充獲取流程定義列表接口
- 12、Activiti事件
- 12.1、 事件類別
- 12.2、 Activiti啟動事件
- 12.3、Activiti結束事件
- 12.4、邊界事件(一)
- 12.5、邊界事件(二)
- 12.6、中間事件
- 13、網關
- 14、Activiti審批意見管理
- 15、Activiti流程駁回、流程回退
- 16、Activiti任務委托
- 17、Activiti流程的掛起、激活
- 第二章:基礎架構完善
- 1、Spring-Security-OAuth2簡介
- 2、搭建認證服務器
- 3、搭建資源服務器
- 4、Activiti自帶的Rest接口
- 5、添加JWT支持
- 6、數據庫存儲授權碼Code,Client信息
- 第三章、集成RBAC權限管理
- 1、RBAC-基于角色的訪問控制
- 2、替換Activiti用戶和用戶組
- 3、Spring-Security獲取當前操作人信息
- 4、OauthUserDetailService改造
- 第四章、使用Swagger生成靜態接口文檔