activiti開發筆記

act_ge_bytearray  多個對1個   act_re_deploymenthtml

數據庫說明:
ACT_RE_*  RE 表示 repository .
這個前綴表包含了流程定義 和流程靜態資源(圖片,規則等等)git

ACT_RU_*  RU表示 runtime  
這些運行時的表,包含流程實例,任務,變量,異步任務,
等運行中的數據。 Activiti 只在流程實例執行過程當中保存這些數據,在流程結束時會刪除這些記錄。
這樣運行時表能夠一直很小,速度很快程序員

ACT_ID_*  ID表示identity .
這些表包含身份信息,好比用戶,組等等github

ACT_HI_*  HI表示history .
這些表包含歷史數據,好比歷史流程實例,變量,任務等等數據庫

ACT_GE_* 通用數據 ,用於不一樣場景下,如存放資源文件api


1, 資源庫流程規則表
1) act_re_deployment 部署信息表緩存

2) act_re_model  流程設計模型部署表併發

3) act_re_procdef   流程定義數據表框架

2,  運行時數據庫表eclipse

1) act_ru_execution  運行時流程執行實例表

2) act_ru_identitylink  運行時流程人員表,
注意存儲任務節點與參與者的信息

3)act_ru_task  運行時任務節點表

4)  act_ru_variable 運行時流程變量數據表


3, 歷史數據庫表

1)  act_hi_actinst  歷史節點表

2)  act_hi_attachment  歷史附件表

3)   act_hi_comment 歷史意見表

4)  act_hi_identitylink  歷史流程人員表

5) act_hi_detail  歷史詳情表,提供歷史變量的查詢

6)  act_hi_procinst 歷史流程實例表

7)  act_hi_taskinst  歷史任務實例表

8)  act_hi_varinst  歷史變量表

4, 組織機構表

1) act_id_group  用戶信息表

2) act_id_info  用戶擴展信息表

3) act_id_membership  用戶與用戶組對應信息表

4)  act_id_user  用戶信息表

這四張表很常見,基本的組織機構管理。關於用戶認證方便建議仍是
本身開發一套,組件自帶的功能太簡單,使用中有不少需求難以知足

5, 通用數據表

1) act_ge_bytearray  二進制數據表

2) act_ge_property 屬性數據表存儲整個流程引擎級別的數據
初始化表結構時,會默認插入三條記錄


8,使用eclipse activiti 插件生成
生成的 *.bpmn20.xml  是給 計算機進行流程的執行和信息的傳遞使用的
好比: HelloWorld.bpmn20.xml
早起可能還會生成 *.png 好比 HelloWorld.png  流程的 圖片,目前生成了放在數據庫裏面了,是給 
客戶進行查看的,進行理解

若是須要 流程圖 png ,那麼就能夠在eclipse --Windows--Preference--Activiti--save Action 
將 Create process definition image... 勾上
這樣當生成 bpmn 文件時候也會在下面生成圖片的,這樣能夠保存給用戶看了等等
由於在實際開發過程當中,經過 bpmn生成的 流程圖,可能會因爲座標的緣由有偏差,
因此生成圖片時候就 保存 顯示給用戶看便可


9,注意:
工做流activiti 的表使用存放流程數據的
而業務的數據須要程序員本身去建立和維護的
必定須要業務去和關聯流程 才能去開發工做流系統

 

 


10, 

服務類說明:
RepositoryService  管理流程定義
RuntimeService  執行管理,包括啓動,推動,刪除流程實例等操做
TaskService  任務管理
HistoryService  歷史管理  執行完的數據的管理
IdentityService  組織機構管理--成員組等
FormService   一個可選服務,任務表單管理


11, bpmn文件,在部署後,每次系統啓動是都會被解析,把內容封裝成流程定義放入項目緩存中,、、
Activiti 框架結合這個xml文件自動管理流程,流程的執行就按照bpmn文件定義的規則執行的

12, 流程定義是不能修改的
若是須要修改就 再生成一個 修改後的bpmn文件流程,而後再次部署,
key相同也就是 升級一個版本了


13, 
Deployment 類 部署對象
一次部署的多個文件的信息,對於不須要的流程能夠刪除和修改

ProcessDefinition  類
解析 .bpmnhou 獲得的流程定義規則的信息,工做流系統就是按照流程定義的規則執行的

14, 一個 Task節點和 Execution 節點是 1對1 的狀況,在task對象中使用 Execution 來表示
他們之間的關係

在activiti 任務中,主要分爲兩大類查詢任務,(我的任務和組任務)
1),確切指定了辦理者的任務,這個將成爲指定者的私有任務,即我的任務

2), 沒法指定具體的某一我的來辦理的任務,能夠把任務分配給幾我的或一道多個小組,讓這個
範圍內的用戶能夠選擇性來辦理這類人,組任務


15, ProcessInstance 類
表明流程定義的執行實例,若是某一我的請了一天的加,就必須發出一個流程實例的申請,
一個流程實例包括了全部的運行節點,咱們能夠利用這個對象來了解當前流程實例的進度等信息
流程實例就表示一個流程從開始到結束的最大分支

Execution類 ,去描述流程執行的每個節點,在沒有併發的狀況下,
Execution 就是 ProcessInstance .
執行中出現同時執行的分支時候,每一個分支就是 一個 Execution 

ProcessInstance 繼承了 Execution 類 


16, 流程變量在整個工做流中很重要,
例如,請假流程中有請假天數,
請假緣由等一些參數都爲流程變量的範圍。
而流程變量的做用域範圍是只對應一個流程實例,
也就是說各個流程實例的流程變量是不互相影響的。
流程實例結束後之後流程變量還保存在數據庫中。

設置流程變量(名--值)
獲取流程變量(經過 名--值)來獲取的

流程變量 是有固定的支持類型的,能夠去查看api 中文文檔的
或者是 說明文檔

taskService.setVariable :
設置流程變量的時候,流程變量名稱相同的時候,後一次的值替換前一次的值,
並且能夠看到 task_id的字段不會存聽任務ID的值

taskService.setVariableLocal :
設置流程變量的時候,針對當前活動的節點設置流程變量,若是一個流程中存放2個
活動節點,對每一個活動節點都設置流程變量,即便流程變量的名稱相同,後一次的版本的值也不會
替換前一次的值,它會使用不一樣的任務ID task_id 做爲標識,存放2個流程變量的值,
並且能夠看到 TASK_ID 就是存聽任務的id 
還有 taskService.setVariableLocal 綁定了當前的任務,當流程繼續執行時,下個任務
獲取不到這個流程變量(由於正在執行的流程變量中沒有這個數據),
全部查詢正在執行的任務時不能查詢到數據,此時須要查詢歷史的流程變量的數據
去歷史流程變量的表去查。

 

一些activiti 學習地址:

17,
activiti 官網

 http://www.activiti.org/download.html    http://jingyan.baidu.com/article/49ad8bce52e1515835d8fa56.html?st=2&os=0&bd_page_type=1&net_type=1    http://jingyan.baidu.com/article/48b37f8d67b8e21a646488c5.html    http://www.open-open.com/lib/view/open1350460225367.html    http://wenku.baidu.com/link?url=YbC3XYj__I7EUV8bSC0nH74p_cTNKg0uS7oJB0lwGYQrhUQVU8G7GVMiHxqh6CG0EVk-Fw7xb3kFfeAsdEpdQEgPPQNGXWPBlefemxwTa5_    插件eclipse 的activiti  http://www.itxxz.com/a/gaoji/2015/0116/eclipse_activiti_install.html  http://www.tuicool.com/articles/yUnURjy  http://www.cnblogs.com/strinkbug/p/4876819.html  https://my.oschina.net/githubhty/blog/690269?p={{currentPage+1}}      教程  http://blog.csdn.net/yangyi22/article/details/9225849    用戶手冊:  http://www.mossle.com/docs/activiti/index.html#license

相關文章
相關標籤/搜索