jbpm的流程模型

1、process definition
 一個process definition代表了一個正式的業務流程,它以一個流程圖爲基礎。這個流程圖由 許多node和transition組成。每個node在這個流程圖裏都有着各自特殊的類型,這些不同的類型決定了node在運行時的不同行爲。一個process definition只有一個start state 。
2、token
 一個token代表了一條執行路徑,它包含了這條執行路徑的當前的執行狀態(current state)。
3、process instance
 一個process instance(流程實例)即一個process definition(流程定義)的流程執行實例。一個process definition可以對應多個process instance。當一個process instance被創建的時候,一個主執行路徑token同時被創建,這個token叫做root token,它指向流程定義的start state(processDefinition.getStartState()==token.getNode())。
4、signal
 一個signal 發送給token通知token 繼續流程的執行。如果signal 沒有指定transition,token將沿缺省的transition離開當前狀態,如果signal 指定transition,token將沿指定的transition離開當前的狀態。看源代碼可以看到發給process instance的signal 其實都是發送給了root token。
5、Actions
 jbpm提供了靈活的action ,當流程執行,token 進入node和transition時,會觸發相應的一些event(事件)。在這些event上附上我們自己寫的action,就會帶動action 的執行。action裏是我們自己的相關java操作代碼,非常方便。注意的是event(事件)是內置的,無法擴展。另外,action也可以直接掛在node上,而不依賴於event(事件)的觸發,這個很重要!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章