Activiti教程(二)activiti工作流引擎結構講解
快速掌握activiti: 1.下載activiti看下結構 2.部署下activiti-admin 控制檯 3.瞭解流程定義-部署-執行 4.學著使用控制檯 5.開始編碼
一.工作流引擎結構
二.初始化表結構 28張表 比以前的版本多幾張
Activiti資料庫表結構
Activiti工作流總共包含23張資料表,所有的表名預設以“ACT_”開頭。
並且表名的第二部分用兩個字母表明表的用例,而這個用例也基本上跟Service API匹配。
u ACT_GE_*
: “GE”代表“General”(通用),用在各種情況下;u ACT_HI_* : “HI”代表“History”(歷史),這些表中儲存的都是歷史資料,比如執行過的流程例項、變數、任務,等等。Activit預設提供了4種歷史級別:
Ø none: 不儲存任何歷史記錄,可以提高系統性能;
Ø activity:儲存所有的流程例項、任務、活動資訊;
Ø audit:也是Activiti的預設級別,儲存所有的流程例項、任務、活動、表單屬性;
Ø full
:最完整的歷史記錄,除了包含audit級別的資訊之外還能儲存詳細,例如:流程變數。對於幾種級別根據對功能的要求選擇,如果需要日後跟蹤詳細可以開啟full。
u ACT_ID_* : “ID”代表“Identity”(身份),這些表中儲存的都是身份資訊,如使用者和組以及兩者之間的關係。如果Activiti被整合在某一系統當中的話,這些表可以不用,可以直接使用現有系統中的使用者或組資訊;
u ACT_RE_* : “RE”代表“Repository”(倉庫),這些表中儲存一些‘靜態’資訊,如流程定義和流程資源(如圖片、規則等);
u ACT_RU_* : “RU”代表“Runtime”(執行時),這些表中儲存一些流程例項、使用者任務、變數等的執行時資料。Activiti只儲存流程例項在執行過程中的執行時資料,並且當流程結束後會立即移除這些資料,這是為了保證執行時表儘量的小並執行的足夠快;
1.2 資料庫表結構
1.2.1 Activiti資料表清單:
表分類
表名
解釋
一般資料
通用的流程定義和流程資源
系統相關屬性
歷史的流程例項
歷史的流程附件
歷史的說明性資訊
歷史的流程執行中的細節資訊
歷史的流程執行過程中使用者關係
歷史的流程例項
歷史的任務例項
歷史的流程執行中的變數資訊
身份資訊-組資訊
身份資訊-組資訊
身份資訊-使用者和組關係的中間表
身份資訊-使用者資訊
部署單元資訊
模型資訊
已部署的流程定義
執行時事件
執行時流程執行例項
執行時使用者關係資訊
執行時作業
執行時任務
執行時變量表
1.2.2表名:ACT_GE_BYTEARRAY(通用的流程定義和流程資源)
用來儲存部署檔案的大文字資料。
儲存流程定義圖片和xml、Serializable(序列化)的變數,即儲存所有二進位制資料,特別注意類路徑部署時候,不要把svn等隱藏檔案或者其他與流程無關的檔案也一起部署到該表中,會造成一些錯誤(可能導致流程定義無法刪除)。
ACT_GE_BYTEARRAY(act_ge_bytearray)
是否主鍵
欄位名
欄位描述
資料型別
可空
約束
預設值
取值說明
是
ID_
主鍵ID,資原始檔編號,自增長
VARCHAR(64)
REV_
版本號
INT(11)
是
Version
NAME_
部署的檔名稱,
VARCHAR(255)
是
mail.bpmn、mail.png 、mail.bpmn20.xml
DEPLOYMENT_ID_
來自於父表ACT_RE_DEPLOYMENT的主鍵
VARCHAR(64)
是
部署的ID
BYTES_
大文字型別,儲存文字位元組流
LONGBLOB
是
GENERATED_
是否是引擎生成。
TINYINT(4)
是
0為使用者生成
1為Activiti生成
1.2.3 表名:ACT_GE_PROPERTY(系統相關屬性)
屬性資料表。儲存這個流程引擎級別的資料。
ACT_GE_PROPERTY(act_ge_property)
是否主鍵
欄位名
欄位描述
資料型別
長度
可空
約束
預設值
取值說明
是
NAME_
VARCHAR(64)
64
schema.version
schema.history
next.dbid
VALUE_
屬性值
VARCHAR(300)
300
是
5.*
create(5.*)
REV_INT
版本號
INT(11)
11
是
1.2.4表名:ACT_HI_ACTINST(歷史節點表)
歷史活動資訊。這裡記錄流程流轉過的所有節點,與HI_TASKINST不同的是,taskinst只記錄usertask內容。
ACT_HI_ACTINST(act_hi_actinst)
是否主鍵
欄位名
欄位描述
資料型別
可空
約束
取值說明
是
ID_
ID_
VARCHAR(64)
PROC_DEF_ID_
流程定義ID
VARCHAR(64)
PROC_INST_ID_
VARCHAR(64)
EXECUTION_ID_
流程執行ID
VARCHAR(64)
ACT_ID_
活動ID
VARCHAR(255)
節點定義ID
TASK_ID_
任務ID
VARCHAR(64)
是
任務例項ID 其他節點型別例項ID在這裡為空
CALL_PROC_INST_ID_
請求流程例項ID
VARCHAR(64)
是
呼叫外部流程的流程例項ID'
ACT_NAME_
活動名稱
VARCHAR(255)
是
節點定義名稱
ACT_TYPE_
活動型別
VARCHAR(255)
如startEvent、userTask
ASSIGNEE_
代理人員
VARCHAR(64)
是
節點簽收人
START_TIME_
開始時間
DATETIME
2013-09-15 11:30:00
END_TIME_
結束時間
DATETIME
是
2013-09-15 11:30:00
DURATION_
時長,耗時
BIGINT(20)
是
毫秒值
1.2.5 表名:ACT_HI_ATTACHMENT(附件資訊)
ACT_HI_ATTACHMENT(act_hi_attachment)
是否主鍵
欄位名
欄位描述
資料型別
長度
可空
約束
預設值
取值說明
是
ID_
ID_
VARCHAR(64)
64
主鍵ID
REV_
REV_
INT(11)
11
是
Version
USER_ID_
使用者id
VARCHAR(255)
255
是
使用者ID
NAME_
名稱
VARCHAR(255)
255
是
附件名稱
DESCRIPTION_
描述
VARCHAR(4000)
4000
是
描述
TYPE_
型別
VARCHAR(255)
255
是
附件型別
TASK_ID_
VARCHAR(64)
64
是
PROC_INST_ID_
流程例項ID
VARCHAR(64)
64
是
流程例項ID
URL_
連線
VARCHAR(4000)
4000
是
附件地址
CONTENT_ID_
內容Id
位元組表的ID
VARCHAR(64)
64
是
ACT_GE_BYTEARRAY的ID
1.2.6 表名:ACT_HI_COMMENT(歷史審批意見表)
ACT_HI_COMMENT(act_hi_comment)
是否主鍵
欄位名
欄位描述
資料型別
長度
可空
約束
預設值
取值說明
是
ID_
ID_
VARCHAR(64)
64
主鍵ID
TYPE_
意見記錄型別,為comment時,為處理意見
VARCHAR(255)
255
是
型別:event(事件)
comment(意見)
TIME_
記錄時間
DATETIME
填寫時間
USER_ID_
使用者Id
VARCHAR(255)
255
是
填寫人
TASK_ID_
任務Id
VARCHAR(64)
64
是
節點例項ID
PROC_INST_ID_
流程例項Id
VARCHAR(64)
64
是
流程例項ID
ACTION_
行為型別。
VARCHAR(255)
255
是
值為下列內容中的一種: AddUserLink、DeleteUserLink、AddGroupLink、DeleteGroupLink、AddComment、AddAttachment、DeleteAttachment
MESSAGE_
處理意見
VARCHAR(4000)
4000
是
用於存放流程產生的資訊,比如審批意見
FULL_MSG_
全部訊息
LONGBLOB
是
1.2.7表名:ACT_HI_DETAIL(歷史詳細資訊)
歷史詳情表:流程中產生的變數詳細,包括控制流程流轉的變數,業務表單中填寫的流程需要用到的變數等。
ACT_HI_DETAIL(act_hi_detail)
是否主鍵
欄位名
欄位描述
資料型別
長度
可空
約束
預設值
取值說明
是
ID_
ID_
VARCHAR(64)
64
主鍵
TYPE_
資料型別
VARCHAR(255)
255
FormProperty, //表單
VariableUpdate //引數
PROC_INST_ID_
流程例項ID
VARCHAR(64)
64
是
流程例項ID
EXECUTION_ID_
執行例項Id
VARCHAR(64)
64
是
執行例項ID
TASK_ID_
任務Id
VARCHAR(64)
64
是
任務例項ID
ACT_INST_ID_
活動例項Id
VARCHAR(64)
64
是
ACT_HI_ACTINST表的ID
NAME_
名稱
VARCHAR(255)
255
名稱
VAR_TYPE_
變數型別
VARCHAR(255)
255
是
參見VAR_TYPE_型別說明
REV_
REV_
INT(11)
11
是
Version
TIME_
建立時間
DATETIME
建立時間
BYTEARRAY_ID_
位元組陣列Id
VARCHAR(64)
64
是
ACT_GE_BYTEARRAY表的ID
DOUBLE_
DOUBLE_
DOUBLE
是
儲存變數型別為Double
LONG_
LONG_
BIGINT(20)
20
是
儲存變數型別為long
TEXT_
值
VARCHAR(4000)
4000
是
TEXT2_
值2
VARCHAR(4000)
4000
是
此處儲存的是JPA持久化物件時,才會有值。此值為物件ID
備註:VAR_TYPE_型別說明: jpa-entity、boolean、bytes、serializable(可序列化)、自定義type(根據你自身配置)、 CustomVariableType、date、double、integer、long、null、short、string
1.2.8 表名:ACT_HI_IDENTITYLINK (歷史流程人員表)
任務參與者資料表。主要儲存歷史節點參與者的資訊。
ACT_HI_IDENTITYLINK(act_hi_identitylink)
是否主鍵
欄位名
欄位描述
資料型別
長度
可空
約束
預設值
取值說明
是
ID_
ID_
VARCHAR(64)
64
ID_
GROUP_ID_
使用者組ID
VARCHAR(255)
255
是
組ID
TYPE_
使用者組型別
VARCHAR(255)
255
是
型別,主要分為以下幾種:
assignee、
candidate、
owner、starter 、participant
USER_ID_
使用者ID
VARCHAR(255)
255
是
使用者ID
TASK_ID_
任務Id
VARCHAR(64)
64
是
節點例項ID
PROC_INST_ID_
VARCHAR(64)
64
是
流程例項ID
1.2.9 表名:ACT_HI_PROCINST(歷史流程例項資訊)核心表
ACT_HI_PROCINST(act_hi_procinst)
是否主鍵
欄位名
欄位描述
資料型別
長度
可空
約束
預設值
備註
是
ID_
ID_
VARCHAR(64)
64
PROC_INST_ID_
流程例項ID
VARCHAR(64)
64
BUSINESS_KEY_
業務Key
VARCHAR(255)
255
是
PROC_DEF_ID_
流程定義Id
VARCHAR(64)
64
START_TIME_
開始時間
DATETIME
END_TIME_
結束時間
DATETIME
是
DURATION_
時長
BIGINT(20)
20
是
START_USER_ID_
發起人員Id
VARCHAR(255)
255
是
START_ACT_ID_
開始節點
VARCHAR(255)
255
是
END_ACT_ID_
結束節點
VARCHAR(255)
255
是
SUPER_PROCESS_INSTANCE_ID_
超級流程例項Id
VARCHAR(64)
64
是
DELETE_REASON_
刪除理由
VARCHAR(4000)
4000
是
1.2.10 表名:ACT_HI_TASKINST(歷史任務流程例項資訊)核心表
ACT_HI_TASKINST(act_hi_taskinst)
是否主鍵
欄位名
欄位描述
資料型別
長度
可空
約束
預設值
備註
是
ID_
ID_
VARCHAR(64)
64
主鍵ID
PROC_DEF_ID_
VARCHAR(64)
64
是
流程定義ID
TASK_DEF_KEY_
任務定義Key
VARCHAR(255)
255
是
節點定義ID
PROC_INST_ID_
流程例項ID
VARCHAR(64)
64
是
流程例項ID
EXECUTION_ID_
執行ID
VARCHAR(64)
64
是
執行例項ID
NAME_
名稱
VARCHAR(255)
255
是
名稱
PARENT_TASK_ID_
父任務iD
VARCHAR(64)
64
是
父節點例項ID
DESCRIPTION_
描述
VARCHAR(4000)
4000
是
描述
OWNER_
實際簽收人 任務的擁有者
VARCHAR(255)
255
是
簽收人(預設為空,只有在委託時才有值)
ASSIGNEE_
代理人
VARCHAR(255)
255
是
簽收人或被委託
START_TIME_
開始時間
DATETIME
開始時間
CLAIM_TIME_
提醒時間
DATETIME
是
提醒時間
END_TIME_
結束時間
DATETIME
是
結束時間
DURATION_
時長
BIGINT(20)
20
是
耗時
DELETE_REASON_
刪除理由
VARCHAR(4000)
4000
是
刪除原因(completed,deleted)
PRIORITY_
優先順序
INT(11)
11
是
優先級別
DUE_DATE_
應完成時間
DATETIME
是
過期時間,表明任務應在多長時間內完成
FORM_KEY_
表單key
VARCHAR(255)
255
是
desinger節點定義的
form_key屬性
1.2.11 表名:ACT_HI_VARINST(歷史變數資訊)
ACT_HI_VARINST(act_hi_varinst)
是否主鍵
欄位名
欄位描述
資料型別
長度
可空
約束
預設值
備註
是
ID_
ID_
VARCHAR(64)
64
ID_
PROC_INST_ID_
流程例項ID
VARCHAR(64)
64
是
流程例項ID
EXECUTION_ID_
執行ID
VARCHAR(64)
64
是
執行例項ID
TASK_ID_
任務Id
VARCHAR(64)
64
是
任務例項ID
NAME_
名稱
VARCHAR(255)
255
引數名稱(英文)
VAR_TYPE_
變數型別
VARCHAR(100)
100
是
參見VAR_TYPE_型別說明
REV_
REV_
INT(11)
11
是
Version
BYTEARRAY_ID_
位元組陣列ID
VARCHAR(64)
64
是
ACT_GE_BYTEARRAY表的主鍵
DOUBLE_
DOUBLE_
DOUBLE
是
儲存DoubleType型別的資料
LONG_
LONG_
BIGINT(20)
20
是
儲存LongType型別的資料
TEXT_
TEXT_
VARCHAR(4000)
4000
是
儲存變數值型別為String,如此處儲存持久化物件時,值jpa物件的class
TEXT2_
TEXT2_
VARCHAR(4000)
4000
是
1.2.12 表名:ACT_ID_GROUP(使用者組表)
用來儲存使用者組資訊。
ACT_ID_GROUP(act_id_group)
是否主鍵
欄位名
欄位描述
資料型別
長度
可空
約束
預設值
備註
是
ID_
使用者組ID
VARCHAR(64)
64
REV_
版本號
INT(11)
11
是
NAME_
使用者組描述資訊
VARCHAR(255)
255
是
TYPE_
VARCHAR(255)
255
是
1.2.13 表名:ACT_ID_INFO(使用者擴充套件資訊表)
使用者擴充套件資訊表。目前該表未用到。
ACT_ID_INFO(act_id_info)
是否主鍵
欄位名
欄位描述
資料型別
長度
可空
約束
預設值
備註
是
ID_
VARCHAR(64)
64
REV_
版本號
INT(11)
11
是
USER_ID_
使用者ID
VARCHAR(64)
64
是
TYPE_
型別
VARCHAR(64)
64
是
KEY_
formINPut名稱
VARCHAR(255)
255
是
VALUE_
值
VARCHAR(255)
255
是
PASSWORD_
密碼
LONGBLOB
是
PARENT_ID_
父節點
VARCHAR(255)
255
是
1.2.14 表名:ACT_ID_MEMBERSHIP(使用者使用者組關聯表)
用來儲存使用者的分組資訊
ACT_ID_MEMBERSHIP(act_id_membership)
是否主鍵
欄位名
欄位描述
資料型別
長度
可空
約束
預設值
備註
是
USER_ID_
使用者Id
VARCHAR(64)
64
是
GROUP_ID_
使用者組Id
VARCHAR(64)
64
1.2.15 表名:ACT_ID_USER(使用者資訊表)
ACT_ID_USER(act_id_user)
是否主鍵
欄位名
欄位描述
資料型別
長度
可空
約束
預設值
備註
是
ID_
ID_
VARCHAR(64)