Activiti項目是一項新的基于Apache許可的開源BPM平臺,本文就來簡述一下Activiti常用類。具體如下:
一、為什么要使用工作流
傳統(tǒng)的設(shè)計在流程發(fā)生變化時的弊端:
1. 流程相關(guān)的屬性和業(yè)務(wù)對象的屬性,都放到了業(yè)務(wù)對象中。
2. 流程相關(guān)的邏輯和業(yè)務(wù)邏輯,都放到的業(yè)務(wù)邏輯中
Activiti常用類:
ProcessEngineConfiguration 流程引擎配置對象(配置數(shù)據(jù)庫連接信息和建表策略)
ProcessEngine 流程引擎的核心對象(檢查環(huán)境是否正確,管理各種服務(wù))
RepositoryService 倉庫服務(wù)對象(管理部署信息)
RuntimeService 運行時服務(wù)對象(管理流程的啟動,流轉(zhuǎn)等操作)
TaskService 任務(wù)服務(wù)對象(Task表中的數(shù)據(jù)是Exeuction表的擴展,任務(wù)的創(chuàng)建時間和辦理人)
部署相關(guān)類:
DeploymentBuilder 發(fā)布配置對象(發(fā)布的規(guī)則文件、規(guī)則圖片和流程顯示的別名)
ProcessDefinition 流程定義(用來描述發(fā)布流程的整體信息)
ActivityImpl 流程活動(用來描述一個流程中每個活動相關(guān)的信息)
運行相關(guān)類:
Execution 執(zhí)行對象(用來描述當(dāng)前活動節(jié)點的基本信息)
ProcessInstance 流程實例對象(流程實例永遠只想Execution(root)對象)
Task 任務(wù)對象(任務(wù)創(chuàng)建時間和辦理人)
二、使用案例:
流程部署信息管理:
1.發(fā)布流程
2.查看流程定義 ProcessDefinitionQuery
3.刪除流程
4.查看流程附件
流程執(zhí)行管理:
1.啟動流程
2.查看任務(wù)(私有/公有)
3.認領(lǐng)Claim UserId 和 TaskId
4.辦理任務(wù) complete(taskId)
5.查看任務(wù)狀態(tài)