什么是工作流
說(shuō)到工作流,一圖勝萬(wàn)言。
工作流
Georgakopoulos給出的工作流定義是:工作流是將一組任務(wù)組織起來(lái)以完成某個(gè)經(jīng)營(yíng)過(guò)程:定義了任務(wù)的觸發(fā)順序和觸發(fā)條件,每個(gè)任務(wù)可以由一個(gè)或多個(gè)軟件系統(tǒng)完成,也可以由一個(gè)或一組人完成匾竿,還可以由一個(gè)或多個(gè)人與軟件系統(tǒng)協(xié)作完。
工作流管理系統(tǒng)的目標(biāo):管理工作的流程以確保工作在正確的時(shí)間被期望的人員所執(zhí)行——在自動(dòng)化進(jìn)行的業(yè)務(wù)過(guò)程中插入任何的執(zhí)行和干預(yù)。
Activiti
那什么是Activiti呢辫诅,說(shuō)到這里不得不說(shuō)它的來(lái)源和發(fā)展。
activiti
Activiti5是有Alfresco軟件在2010年5月17日發(fā)布的業(yè)務(wù)流程管理(BPM)框架涧狮,它是覆蓋了業(yè)務(wù)流程管理炕矮、工作流、服務(wù)協(xié)等領(lǐng)域的一個(gè)開(kāi)源的者冤、靈活的肤视、易擴(kuò)展的可執(zhí)行流程語(yǔ)言框架。Activiti基于Apache許可的開(kāi)源BPM平臺(tái)涉枫,創(chuàng)始人TomBaeyens是JBoss JBPM的項(xiàng)目架構(gòu)師钢颂,它特色是提供了Eclipse插件,開(kāi)發(fā)人員可以通過(guò)插件直接繪畫(huà)出業(yè)務(wù)流程圖拜银。
流程圖
Activiti學(xué)習(xí)要點(diǎn)
工作流引擎
ProcessEngine對(duì)象殊鞭,這是Activiti工作的核心。負(fù)責(zé)生成流程運(yùn)行時(shí)的各種勢(shì)力及數(shù)據(jù)尼桶、監(jiān)控和管理流程的運(yùn)行操灿。所有的操作都是從獲取引擎開(kāi)始的,所以一般會(huì)把引擎作為全局變量泵督。
ProcessEngine processEngine = ProcessEngine.getDefaultProcessEngine()趾盐;
BPMN
業(yè)務(wù)流程建模與標(biāo)注(Business Process Model and Nation,BPMN)小腊,描述流程的基本符號(hào)救鲤,包括這些圖如何生成一個(gè)業(yè)務(wù)流程圖(Business Process Diagram)。在Eclipse中安裝Activiti插件秩冈,可以在Eclipse中繪制Activiti工作流圖本缠。
Activiti插件
activiti.cfg.xml(Activiti配置文件)
Activiti.cfg.xml,Activiti核心配置文件入问,配置流程引擎創(chuàng)建工具的基本參數(shù)和數(shù)據(jù)庫(kù)連接池參數(shù)丹锹。
定義數(shù)據(jù)庫(kù)配置參數(shù):
jdbcUrl:數(shù)據(jù)庫(kù)的JDBC URL稀颁。
jdbcDriver:對(duì)應(yīng)不同數(shù)據(jù)庫(kù)類(lèi)型的驅(qū)動(dòng)。
jdbcUsername:連接數(shù)據(jù)庫(kù)的名稱(chēng)楣黍。
jdbcPassword:連接數(shù)據(jù)的密碼匾灶。
5種數(shù)據(jù)庫(kù)表
Activiti的表都是以ACT開(kāi)頭。第二部分是表示表的用途的兩個(gè)字母標(biāo)識(shí)租漂。用途也和服務(wù)的API對(duì)應(yīng)阶女。
5中數(shù)據(jù)表
23張數(shù)據(jù)表
不同的表存放不同方面的數(shù)據(jù),有流程定義表哩治、任務(wù)節(jié)結(jié)點(diǎn)表张肾、流程變量表、任務(wù)歷史表等等锚扎。
23張表
7項(xiàng)service
Activiti Service
基本操作
設(shè)計(jì)流程圖(各種組件吞瞪,如連線、用戶任務(wù)等)驾孔、流程定義增刪改查芍秆、流程變量增刪改查、啟動(dòng)流程定義翠勉、任務(wù)增刪改查妖啥、完成任務(wù)、歷史信息查詢等对碌。