Activiti是由Alfresco軟件在2010年5月17日發佈的業務流程管理(BPM)框架,它是覆蓋了業務流程管理,工做流,服務協做等領域的一個開源,靈活的,易擴展的可執行流程語言框架。mysql
Activiti基於Apache許可的開源BPM平臺,創始人Tom Baeyens是JBoss JBPM的項目架構師,它的特點是提供了eclipse插件,開發人員能夠經過插件直接繪畫出業務流程圖。sql
ProcessEngine對象,這是Activiti工做的核心。負責生成流程運行時的各類實例及數據,監控和管理流程的運行。數據庫
業務流程建模與標註(Business Process Model and Notation,BPMN),描述流程的基本符號,架構
包括這些圖元如何組合成一個業務流程圖 (Business Process Diagram)。oracle
act_re_deployement 部署對象表 框架
act_rep_procdef 流程定義表 eclipse
act_ge_bytearray 資源文件表 maven
act_ge_prperty 主鍵生成策略表(對於部署對象表的主鍵ID)spa
act_ru_execution 正在執行的執行對象表(包含執行對象ID和流程實例ID,若是有多個線程可能流程實例ID不同)插件
act_hi_procinst 流程實例歷史表
act_hi_actinst 存放歷史全部完成的任務
act_ru_task 代辦任務表(只對應節點是UserTask的)
act_hi_taskinst 代辦任務歷史表 (只對應節點是UserTask的)
act_hi_actinst 全部節點活動歷史表 (對應流程的全部節點的活動歷史,從開始節點一直到結束節點中間的全部節點的活動都會被記錄)
act_ru_variable 正在執行的流程變量表
act_hi_variable 流程變量歷史表
說明:Activiti中最核心的類,其餘的類都是由他而來。
//用法 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); //例如:生成RepositoryService(管理流程定義 ) RepositoryService repositoryService =processEngine.getRepositoryService(); //例如:生成RuntimeService (執行管理,包括啓動,推動,刪除流程實例 等操做) RuntimeService runtimeService = processEngine.getRuntimeService(); //例如:生成TaskService(任務管理) TaskService taskService =processEngine.getTaskService();
說明:Activiti的倉庫服務類。所謂的倉庫指流程定義文檔的兩個文件:bpmn文件和流程圖片 該service能夠用來刪除部署的流程定義
說明:Activiti的流程執行服務類,能夠從這個服務類中獲取不少關於流程執行的相關的信息。
說明:是Activiti的任務服務類。能夠從這個類中獲取任務的相關信息,如當前正在執行的我的待辦和用戶組待辦任務。
說明:Activiti的查詢歷史信息的類,在一個流程執行完成後,這個對象爲咱們提供查詢歷史信息,能夠跟蹤流程實例對應全部待辦節點的運行狀況。
說明:流程定義類,能夠從這裏得到資源文件等。
說明:表明流程定義的執行實例,當一個部署的流程圖啓動後,該流程只有一條流程實例數據,可是它的流程任務能夠有多個,
每一個任務對應流程圖中相應的流程節點。