概念
模型
Model,主要是我們繪制的工作流程,它由一個個節點組成,一個流程必須要有開始節點和結束節點。
ACT_RE_MODEL,
節點
Node,節點是組成流程的基本元素,節點又分為很多類型,我們經常用到的也就是啟動事件,結束事件,用戶活動,網關列表-互斥網關,並行網關等等。
部署流程
Deployment,將模型發布出去的過程叫做一個部署,同一個模型可以被部署多次,每一次部署都可以理解為一個版本,一般的,我們的模型發生變化后,都需要發布一個版本,讓之后產生的流程保持最新版本。
ACT_RE_DEPLOYMENT,ACT_RE_PROCDEF
流程實例
Execution,當你把一個部署啟動起來后,就成為一個流程實例,即每從部署流程啟動之后,都會產生一個新的實例,每個實例之間都是相互獨立的。
流程執行實例
這個表是工作流程的核心表,這個表會體現主干與分支流程實例的概念,所以才有了執行實例這個叫法。
一般來講一個流程實例都有一條主線。如果流程為直線流程,那么流程實例在這個表中只有一條記錄對應,但如果流程有會簽多實例時,以及並行網關時,這時候它就有流程實例和執行實例,一對多的關系,所以一定要理解流實例和執行實例的區別
ACT_RU_EXECUTION,ACT_RU_TASK
任務
Task,在流程實例中,任務可以理解為流程上的每個工作節點,當前的任務會在流程圖上進行標紅顯示,當用戶對節點進行審批后,任務會被刪除,並添加到歷史任務里;一般來說,當一個部署流程啟動之后,會產生一個流程實例,同時也會產生一個任務,這個任務就是第一個要審批的節點(不是啟動事件節點)。
ACT_RU_TASK
歷史任務
History Task,歷史任務,表示當任務啟動之后,在任務表會有記錄,現時在歷史任務表也會有相同的記錄,只不過,歷史任務表的數據不會被清除,而任務表的數據在任務完成后會被清除。
事件
主要指流程在進行流轉過程中,由activiti所發出的事件,開發人員可以去訂閱這些事件,訂閱方式有兩種,可以在UI設計頁面對指定流程進行訂閱,也可以在代碼里對所有流程統一進行事件訂閱。
事件在代碼中的觸發
也可以在UI界面去為某個流程訂閱事件
當然,你也可以使用表達式去訂閱,直接寫上訂閱的bean名稱即可,它的優勢是,使用Delegate Expression之后,在你的訂閱代碼中可以使用spring的Autowired注解等等。
下次我們將說一下流程處理的幾個節.