Activiti工做流引擎簡介

Activiti工做流引擎簡介

1、概述

  Activiti是由Alfresco軟件在2010年5月17日發佈的業務流程管理(BPM)框架,它是覆蓋了業務流程管理,工做流,服務協做等領域的一個開源,靈活的,易擴展的可執行流程語言框架。mysql

   Activiti基於Apache許可的開源BPM平臺,創始人Tom Baeyens是JBoss JBPM的項目架構師,它的特點是提供了eclipse插件,開發人員能夠經過插件直接繪畫出業務流程圖。sql

  工做流引擎:

    ProcessEngine對象,這是Activiti工做的核心。負責生成流程運行時的各類實例及數據,監控和管理流程的運行。數據庫

  BPMN標準:

    業務流程建模與標註(Business Process Model and Notation,BPMN),描述流程的基本符號,架構

  包括這些圖元如何組合成一個業務流程圖  (Business Process Diagram)。oracle

2、開發環境

  Activiti軟件環境:

  • JDK1.6或者更高版本
  • 支持的數據庫有:h2,mysql,oracle,mysql,db2等 
  • 支持Activiti運行的jar包,能夠經過maven依賴引入 
  • 開發環境爲Eclipse3.7或者以上版本,myeclipse爲8.6版本

3、Activiti表說明 

  1,流程部署相關表:

    act_re_deployement 部署對象表 框架

    act_rep_procdef 流程定義表 eclipse

    act_ge_bytearray 資源文件表 maven

    act_ge_prperty 主鍵生成策略表(對於部署對象表的主鍵ID)spa

  2,流程實例相關表:

    act_ru_execution 正在執行的執行對象表(包含執行對象ID和流程實例ID,若是有多個線程可能流程實例ID不同)插件

    act_hi_procinst 流程實例歷史表  

    act_hi_actinst 存放歷史全部完成的任務

  3,Task 任務相關表:

    act_ru_task 代辦任務表(只對應節點是UserTask的)

    act_hi_taskinst 代辦任務歷史表 (只對應節點是UserTask的) 

    act_hi_actinst  全部節點活動歷史表 (對應流程的全部節點的活動歷史,從開始節點一直到結束節點中間的全部節點的活動都會被記錄)

  4,流程變量表:

    act_ru_variable 正在執行的流程變量表 

    act_hi_variable 流程變量歷史表

4、核心API

  1,ProcessEngine

   說明:Activiti中最核心的類,其餘的類都是由他而來。

//用法
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//例如:生成RepositoryService(管理流程定義 )
RepositoryService 
repositoryService =processEngine.getRepositoryService();
//例如:生成RuntimeService (執行管理,包括啓動,推動,刪除流程實例 等操做)
RuntimeService 
runtimeService = processEngine.getRuntimeService(); 
//例如:生成TaskService(任務管理)
TaskService 
taskService =processEngine.getTaskService();

  2,RepositoryService

  說明:Activiti的倉庫服務類。所謂的倉庫指流程定義文檔的兩個文件:bpmn文件和流程圖片 該service能夠用來刪除部署的流程定義

  3,RuntimeService

  說明:Activiti的流程執行服務類,能夠從這個服務類中獲取不少關於流程執行的相關的信息。

  4,TaskService 

  說明:是Activiti的任務服務類。能夠從這個類中獲取任務的相關信息,如當前正在執行的我的待辦和用戶組待辦任務。

  5,HistoryService

  說明:Activiti的查詢歷史信息的類,在一個流程執行完成後,這個對象爲咱們提供查詢歷史信息,能夠跟蹤流程實例對應全部待辦節點的運行狀況。

  6,ProcessDefinition 

  說明:流程定義類,能夠從這裏得到資源文件等。

  7,ProcessInstance 

  說明:表明流程定義的執行實例,當一個部署的流程圖啓動後,該流程只有一條流程實例數據,可是它的流程任務能夠有多個,

  每一個任務對應流程圖中相應的流程節點。

相關文章
相關標籤/搜索