Activiti工作流對(duì)象關(guān)系與表結(jié)構(gòu)_第1頁
Activiti工作流對(duì)象關(guān)系與表結(jié)構(gòu)_第2頁
Activiti工作流對(duì)象關(guān)系與表結(jié)構(gòu)_第3頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Activiti 數(shù)據(jù)表結(jié)構(gòu)和核心對(duì)象關(guān)系西安創(chuàng)富電子科技有限公司二0三年九月版本歷史日期版本說明(文檔修改描述)作者審核人2013.9文檔初稿焦劍波目錄1 ACTIVITI 數(shù)據(jù)庫表結(jié)構(gòu) 41.1 數(shù)據(jù)庫表名說明 41.2 數(shù)據(jù)庫表結(jié)構(gòu) 42 ACTIVITI 中主要對(duì)象的關(guān)系 51 Activiti數(shù)據(jù)庫表結(jié)構(gòu)1.1數(shù)據(jù)庫表名說明Activiti工作流總共包含23張數(shù)據(jù)表,所有的表名默認(rèn)以“ ACT_開頭。并且表名的第二部分用兩個(gè)字母表明表的用例, 而這個(gè)用例也基本上跟Service API匹配。ACT_GE_*“GE代表“ General” (通用),用在各種情況下;ACT_HI_*:

2、“HI”代表“ History ” (歷史),這些表中保存的都是歷史數(shù) 據(jù),比如執(zhí)行過的流程實(shí)例、變量、任務(wù),等等。當(dāng)系統(tǒng)中配置history的信息記錄級(jí)別為“ none”時(shí),這一類表也可以不用;ACT_ID_* : “ID”代表“ Identity ” (身份),這些表中保存的都身份信 息,如用戶和組以及兩者之間的關(guān)系。如果 Activiti 被集成在某一系統(tǒng)當(dāng) 中的話,這些表可以不用,可以直接使用現(xiàn)有系統(tǒng)中的用戶或組信息;ACT_RE_* “RE代表“ Repository ” (倉庫),這些表中保存一些靜態(tài)信息,如流程定義和流程資源(如圖片、規(guī)則等);ACT_RU_* “ RU代表“ R

3、un time” (運(yùn)行時(shí)),這些表中保存一些流程實(shí) 例、用戶任務(wù)、變量等的運(yùn)行時(shí)數(shù)據(jù)。Activiti只保存流程實(shí)例在執(zhí)行過程中的運(yùn)行時(shí)數(shù)據(jù),并且當(dāng)流程結(jié)束后會(huì)立即移除這些數(shù)據(jù),這是為了保證運(yùn) 行時(shí)表盡量的小并運(yùn)行的足夠快;1.2數(shù)據(jù)庫表結(jié)構(gòu)Activiti 數(shù)據(jù)表清單:表名解釋ACT_GE_BYTEARRAY通用的流程定義和流程資源ACT_GE_PROPERTY系統(tǒng)相關(guān)屬性ACT_HI_ACTINST歷史的流程實(shí)例ACT_HI_ATTACHMENT歷史的流程附件ACT_HI_COMMENT歷史的說明性信息ACT_HI_DETAIL歷史的流程運(yùn)行中的細(xì)節(jié)信息ACT_HI_IDENTITYLI

4、NK歷史的流程運(yùn)行過程中用戶關(guān)系A(chǔ)CT_HI_PROCINST歷史的流程實(shí)例ACT_HI_TASKINST歷史的任務(wù)實(shí)例ACT_HI_VARINST歷史的流程運(yùn)行中的變量信息ACT_ID_GROUP身份信息-組信息ACT_ID_INFO身份信息-組信息ACT_ID_MEMBERSHIP身份信息-用戶和組關(guān)系的中間表ACT_ID_USER身份信息-用戶信息ACT_RE_DEPLOYMENT部署單元信息ACT_RE_MODEL模型信息ACT_RE_PROCDEF已部署的流程定義ACT_RU_EVENT_SUBSCR運(yùn)行時(shí)事件ACT_RU_EXECUTION運(yùn)行時(shí)流程執(zhí)行實(shí)例ACT RU IDENT

5、ITYLINK運(yùn)行時(shí)用戶關(guān)系信息ACT RU JOB運(yùn)行時(shí)作業(yè)ACT RU TASK運(yùn)行時(shí)任務(wù)ACT RU VARIABLE運(yùn)行時(shí)變量表2 Activiti中主要對(duì)象的關(guān)系本節(jié)主要介紹在工作流中出現(xiàn)的幾個(gè)對(duì)象及其之間的關(guān)系,以及在Activiti中各個(gè)對(duì)象是如何關(guān)聯(lián)的。在開始之前先看看下圖,對(duì)整個(gè)對(duì)象結(jié)構(gòu)有個(gè)了解,再結(jié)合實(shí)例詳細(xì)介紹理圖1. Activiti 中幾個(gè)對(duì)象之間的關(guān)系我們模擬一個(gè)請(qǐng)假的流程進(jìn)行分析介紹,該流程主要包含以下幾個(gè)步驟:員工申請(qǐng)請(qǐng)假部門領(lǐng)導(dǎo)審批人事審批員工銷假Process In sta nee 對(duì)象員工開始申請(qǐng)請(qǐng)假流程,通過runtimeService.startPro

6、cesslnstance()方法啟動(dòng),引擎會(huì)創(chuàng)建一個(gè)流程實(shí)例(Processlnstanee )。簡單來說流程實(shí)例就是根據(jù)一次(一條)業(yè)務(wù)數(shù)據(jù)用流程驅(qū)動(dòng)的入口,兩者 之間是一對(duì)一的關(guān)系。流程引擎會(huì)創(chuàng)建一條數(shù)據(jù)到 ACT_RU_EXECUTI表|同時(shí) 也會(huì)根據(jù)history 的級(jí)別決定是否查詢相同的歷史數(shù)據(jù)到 ACT_HI_PROCINS表。啟動(dòng)完流程之后業(yè)務(wù)和流程已經(jīng)建立了關(guān)聯(lián)關(guān)系,第一步結(jié)束。啟動(dòng)流程和業(yè)務(wù)關(guān)聯(lián)區(qū)別:對(duì)于自定義表單來說啟動(dòng)的時(shí)候會(huì)傳入businessKey作為業(yè)務(wù)和流程的 關(guān)聯(lián)屬性對(duì)于動(dòng)態(tài)表單來說不需要使用bus in essKey關(guān)聯(lián),因?yàn)樗械臄?shù)據(jù)都保存 在引擎的表中對(duì)于

7、外部表單來說businessKey是可選的,但是一般不會(huì)為空,和自定義 表單類似Execution 對(duì)象對(duì)于初學(xué)者來說,最難理解的地方就是ProcessInstanee與Execution之間 的關(guān)系,要分兩種情況說明。Execution的含義就是一個(gè)流程實(shí)例(ProcessInstanee )具體要執(zhí)行的過程對(duì)象。不過在說明之前先聲明兩者的對(duì)象映射關(guān)系:Process In sta nee (1) Executi on( N),(其中 N= 1 )。1)值相等的情況:除了在流程中啟動(dòng)的子流程之外,流程啟動(dòng)之后在表ACT_RU_EXECUTI中N的字段ID_和PROC_INST_I字段值是相同

8、的。li ID,|U REV, IBl/5IM5S_KEY_ PARENT| ffiQC_PEF_|D_ 5UPER_EXEC_ ACTJP,| IS_AtTIVE_3442 5441 蛀I eave;: 1:34(null)Deport Back1圖 2. ID_和 PROC_INST_ID相等2)值不相等的情況:不相等的情況目前只會(huì)出現(xiàn)在子流程中(包含:嵌套、引入),例如一個(gè)購物流程中除了下單、出庫節(jié)點(diǎn)之外可能還有一個(gè)付款子流程,在實(shí)際企業(yè)應(yīng)用中付款流程通常是作為公用的,所以使用子流程作為主流程(購物流程)的一部分。當(dāng)任務(wù)到達(dá)子流程時(shí)引擎會(huì)自動(dòng)創(chuàng)建一個(gè)付款流程,但是這個(gè)流程有一個(gè)特殊的地方

9、,在數(shù)據(jù)庫可以直觀體現(xiàn),如下圖。FrJ13 IDl |9 REV.|i ROC.WSTIDIl BU5nE5S.KEY_| TOREMT_D_| ITOCDEFJD.|j5UFEJtJEJ(EC. ACT.ID.| E.4CTNE.|39196223HQ LI JULfiSCLOSQres| HJl 11(W1L|03H45159196null)鶉 U百fiLesCLosQre:L:34piTHtSilbFroceas1圖 3. ID_ 和 PROC_INST_ID不相等上圖中有兩條數(shù)據(jù),第二條數(shù)據(jù)(嵌入的子流程)的PARENT_ID等于第一條數(shù)據(jù)的ID_和PROC_INST_ID_并且兩條數(shù)

10、據(jù)的 PROC_INST_IDg同。上圖中還有一點(diǎn)特殊的地方,字段IS_ACTIVE_勺值分別是0和1,說明正在 執(zhí)行子流程主流程掛起。Task對(duì)象前面說了 Process In sta nee和業(yè)務(wù)是一對(duì)一關(guān)聯(lián)的,和業(yè)務(wù)數(shù)據(jù)最親密;而 Task則和用戶最親密的(UserTask),用戶每天的待辦事項(xiàng)就是一個(gè)個(gè)的 Task 對(duì)象。從圖1中看得出Exeeution和Task是一對(duì)一關(guān)系,Task可以是任何類型的 Task實(shí)現(xiàn),可以是用戶任務(wù)(UserTask)、Java 服務(wù)(Java ServiceTask )等, 在實(shí)際流程運(yùn)行中只不過面向?qū)ο蟛煌?,用戶任?wù)(UserTask)需要有人為參與

11、完 成(complete), Java服務(wù)需要由系統(tǒng)自動(dòng)執(zhí)行(execution )。8仇SiREL 7 EXEC WTlON rtJ3 PROC DEF lpBl rtANf.| PAHEMT rA5K lDLg oescp pnozlg T-*5k tRF ltf-al時(shí)狀M ft7.irjrF1225ledTeali11J41 aULLt(QllJJulrepDxLb&jJiInJull |2923沾,JlWIhM-ki 11 J4EUdllji上 EpDXt&IJLEkI null Rnolnulli11!i 111MlCacfwti I? Jinullji(A Li 111IflullifD44HLTCUUlflf l!lf丁37UlwftOklID21011D2yIHttlii圖 5表 ACT_HI_ACTINSTActivity 包含了流程中所有的活動(dòng)數(shù)據(jù),例如開始事件(圖 5表中的第1 條數(shù)據(jù))、各種分支(排他分支、并行分支等,圖 5表中的第2條數(shù)據(jù))、以及 剛剛提到的Task執(zhí)行記錄(如圖5表中的第3、4條數(shù)據(jù))。有些人認(rèn)為Activity 和Task是多對(duì)一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論