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