1. 程式人生 > >Activiti教程(二)activiti工作流引擎結構講解

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資料表清單:

表分類

表名

解釋

一般資料

ACT_GE_BYTEARRAY

通用的流程定義和流程資源

ACT_GE_PROPERTY

系統相關屬性

流程歷史記錄

 

ACT_HI_ACTINST

歷史的流程例項

ACT_HI_ATTACHMENT

歷史的流程附件

ACT_HI_COMMENT

歷史的說明性資訊

ACT_HI_DETAIL

歷史的流程執行中的細節資訊

ACT_HI_IDENTITYLINK

歷史的流程執行過程中使用者關係

ACT_HI_PROCINST

歷史的流程例項

ACT_HI_TASKINST

歷史的任務例項

ACT_HI_VARINST

歷史的流程執行中的變數資訊

使用者使用者組表

ACT_ID_GROUP

身份資訊-組資訊

ACT_ID_INFO

身份資訊-組資訊

ACT_ID_MEMBERSHIP

身份資訊-使用者和組關係的中間表

ACT_ID_USER

身份資訊-使用者資訊

流程定義表

ACT_RE_DEPLOYMENT

部署單元資訊

ACT_RE_MODEL

模型資訊

ACT_RE_PROCDEF

已部署的流程定義

執行例項表

ACT_RU_EVENT_SUBSCR

執行時事件

ACT_RU_EXECUTION

執行時流程執行例項

ACT_RU_IDENTITYLINK

執行時使用者關係資訊

ACT_RU_JOB

執行時作業

ACT_RU_TASK

執行時任務

ACT_RU_VARIABLE

執行時變量表

 

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_

流程例項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_

任務Id

VARCHAR(64)

64

節點例項ID

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_

行為型別。

為addcomment時,為處理意見

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

儲存變數值型別為String

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_

流程例項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_

流程定義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

此處儲存的是JPA持久化物件時,才會有值。此值為物件ID

 

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)