Activiti計畫是一項新的基於Apache許可的開源BPM平台,本文就來簡述Activiti常用類別。具體如下:
一、為什麼要使用工作流程
傳統的設計在流程改變時的弊端:
1. 流程相關的屬性和業務物件的屬性,都放到了業務物件中。
2. 流程相關的邏輯與業務邏輯,都放到的業務邏輯中
Activiti常用類別:
ProcessEngineConfiguration 流程引擎設定物件(設定資料庫連線資訊與建表策略)
ProcessEngine 流程引擎的核心物件(檢查環境是否正確,管理各種服務)
RepositoryService 倉庫服務物件(管理部署資訊)
RuntimeService 執行時期服務物件(管理流程的啟動,流轉等操作)
TaskService 任務服務物件(Task表中的資料是Exeuction表的擴展,任務的建立時間和辦理人)
部署相關類別:
DeploymentBuilder 發佈配置物件(發佈的規則檔案、規則圖片和流程顯示的別名)
ProcessDefinition 流程定義(用來描述發布流程的整體資訊)
ActivityImpl 流程活動(用來描述一個流程中每個活動相關的資訊)
運行相關類別:
Execution 執行物件(用來描述目前活動節點的基本資訊)
ProcessInstance 流程實例物件(流程實例永遠只想Execution(root)物件)
Task 任務物件(任務建立時間和辦理人)
二、使用案例:
流程部署資訊管理:
1.發布流程
2.查看流程定義ProcessDefinitionQuery
3.刪除流程
4.查看流程附件
流程執行管理:
1.啟動流程
2.查看任務(私有/公有)
3.認領Claim UserId 和TaskId
4.辦理任務complete(taskId)
5.查看任務狀態