activiti流程流轉(zhuǎn)原理?
Activiti?作流原理
在計(jì)算機(jī)的輔助下,能夠?qū)崿F(xiàn)流程的?動(dòng)化控制,就稱(chēng)為?作流。
通過(guò)編碼?式設(shè)置 flag狀態(tài)來(lái)進(jìn)??作流,這種?式的缺點(diǎn)是業(yè)務(wù)流程變更后,程序不可使?。
Activiti可以是做到業(yè)務(wù)流程變化后,程序代碼不?改變。以不變應(yīng)萬(wàn)變。
?作原理:
1.先將流程圖畫(huà)好
2.將流程圖中每個(gè)節(jié)點(diǎn)的數(shù)據(jù)讀取并放?表中
3.處理表中的第?條數(shù)據(jù),處理并刪除
4.重復(fù)步驟3. (直到表中記錄完了)
實(shí)現(xiàn)這個(gè)?動(dòng)化需要
1.業(yè)務(wù)流程圖標(biāo)準(zhǔn),規(guī)范統(tǒng)?
2.業(yè)務(wù)流程圖本質(zhì)上是?個(gè)xml?件,這樣就可以存?所需要的數(shù)據(jù)
3.讀取業(yè)務(wù)流程圖的過(guò)程就是解析xml?件的過(guò)程
4.讀取業(yè)務(wù)流程圖中的?個(gè)節(jié)點(diǎn),就相當(dāng)于解析xml結(jié)構(gòu),進(jìn)?步將數(shù)據(jù)插?到數(shù)據(jù)庫(kù)表中形成?條記錄
5.將所有節(jié)點(diǎn)都讀取并存?數(shù)據(jù)庫(kù)表中
6.后?只需要讀取數(shù)據(jù)庫(kù)表中的?條記錄,讀?條記錄相當(dāng)于讀取?個(gè)節(jié)點(diǎn)
7.業(yè)務(wù)流程的推進(jìn),后?就轉(zhuǎn)化為讀取表中的數(shù)據(jù),并且處理數(shù)據(jù),結(jié)束時(shí)這??數(shù)據(jù)就可以刪除
技術(shù)?案?概涉及到:
xml存流程圖數(shù)據(jù)+dom4j解析+mysql數(shù)據(jù)庫(kù)+jdbc CRUD操作
Activiti7會(huì)提供25張表作為?撐,進(jìn)?流程存儲(chǔ)控制。
開(kāi)發(fā)步驟
1.整合Activiti 導(dǎo)jar包
2.實(shí)現(xiàn)業(yè)務(wù)流程建模,使?BPMN實(shí)現(xiàn)業(yè)務(wù)流程圖
3.部署業(yè)務(wù)流程到Acitiviti
4.啟動(dòng)流程實(shí)例
5.查詢(xún)待辦任務(wù)
6.處理代辦任務(wù)
7.循環(huán)6.7.
8.結(jié)束流程
開(kāi)發(fā)環(huán)境
jdk 1.8
mysql 5以上
web容器 tomcat8.5
開(kāi)發(fā)?具eclipse或idea
spring5以上
Activiti 下載
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-dependencies</artifactId>
<version>7.0.0.Betal</version>
<scope>import</scope>
<type>pom</type>
<