1、process definition
一個(gè)process definition代表了一個(gè)正式的業(yè)務(wù)流程,它以一個(gè)流程圖為基礎(chǔ)。這個(gè)流程圖由 許多node和transition組成。每個(gè)node在這個(gè)流程圖里都有著各自特殊的類(lèi)型,這些不同的類(lèi)型決定了node在運(yùn)行時(shí)的不同行為。一個(gè)process definition只有一個(gè)start state 。
2、token 一個(gè)token代表了一條執(zhí)行路徑,它包含了這條執(zhí)行路徑的當(dāng)前的執(zhí)行狀態(tài)(current state)。
3、process instance
一個(gè)process instance(流程實(shí)例)即一個(gè)process definition(流程定義)的流程執(zhí)行實(shí)例。一個(gè)process definition可以對(duì)應(yīng)多個(gè)process instance。當(dāng)一個(gè)process instance被創(chuàng)建的時(shí)候,一個(gè)主執(zhí)行路徑token同時(shí)被創(chuàng)建,這個(gè)token叫做root token,它指向流程定義的start state(processDefinition.getStartState()==token.getNode())。
4、signal
一個(gè)signal 發(fā)送給token通知token 繼續(xù)流程的執(zhí)行。如果signal 沒(méi)有指定transition,token將沿缺省的transition離開(kāi)當(dāng)前狀態(tài),如果signal 指定transition,token將沿指定的transition離開(kāi)當(dāng)前的狀態(tài)。看源代碼可以看到發(fā)給process instance的signal 其實(shí)都是發(fā)送給了root token。
5、Actions jbpm提供了靈活的action ,當(dāng)流程執(zhí)行,token 進(jìn)入node和transition時(shí),會(huì)觸發(fā)相應(yīng)的一些event(事件)。在這些event上附上我們自己寫(xiě)的action,就會(huì)帶動(dòng)action 的執(zhí)行。action里是我們自己的相關(guān)java操作代碼,非常方便。注意的是event(事件)是內(nèi)置的,無(wú)法擴(kuò)展。另外,action也可以直接掛在node上,而不依賴于event(事件)的觸發(fā),這個(gè)很重要!
http://www.aygfsteel.com/ronghao 榮浩原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處:)
posted on 2005-11-12 09:46
ronghao 閱讀(2321)
評(píng)論(3) 編輯 收藏 所屬分類(lèi):
工作流jbpm3