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.查看任務狀態