更新時間:2022-07-27 11:26:35 來源:動力節(jié)點 瀏覽2163次
Activiti 是一個工作流引擎,activiti 可以將業(yè)務系統(tǒng)中復雜的業(yè)務流程抽取出來,使用專門的建模語言(BPMN2.0)進行定義,業(yè)務系統(tǒng)按照預先定義的流程進行執(zhí)行,實現(xiàn)了業(yè)務系統(tǒng)的業(yè)務流程由 activiti 進行管理,減少業(yè)務系統(tǒng)由于流程變更進行系統(tǒng)升級改造的工作量,從而提高系統(tǒng)的健壯性,同時也減少了系統(tǒng)開發(fā)維護成本。
為什么Activiti可以實現(xiàn)業(yè)務需求變更時,不需要更新代碼,只需要更新業(yè)務流程圖,就可以實現(xiàn)流程的變化?
大致原理:
Activiti啟動流程時,會將第一個節(jié)點讀取到表中查詢到表中要處理的節(jié)點進行處理,處理完成之后會刪除這個節(jié)點,并且讀取下一個節(jié)點的數(shù)據(jù)存入到表中循環(huán)上一個步驟,直到結束。

業(yè)務流程圖要規(guī)范化,需要遵守一套標準。
業(yè)務流程圖本質上就是一個XML文件,而XML可以存放所要的數(shù)據(jù)。
讀取業(yè)務流程圖的過程就是解析XML文件的過程。
讀取一個業(yè)務流程圖的結點就相當于解析一個XML的結點,進一步將數(shù)據(jù)插入到MySQL表中,形成一條記錄。
將一個業(yè)務流程圖的所有節(jié)點都讀取并存入到MySQL表中。
后面只要讀取MySQL表中的記錄就相當于讀取業(yè)務流程圖的一個節(jié)點。
業(yè)務?流程的推進,后面就轉換為讀取表中的數(shù)據(jù),并且處理數(shù)據(jù),結束的時候這一行數(shù)據(jù)就可以刪除了。