1. Step:工作流所在的位置,整個工作流的步驟,也可以是一系列工作中的某個工作,比如某個審批流程中的文件交到某個領導處審批,此過程可能包括接收秘書交來的文件、然后閱讀、提出自己的意見、簽字、叫給秘書繼續處理,這整個過程可以是一個Step。但并不是FSM中的Status。
2. Status:某個Step的狀態,每個Step可以有多個Status。比如上例中閱讀,等待提意見,等待簽字,等待交秘書處理,都是Step的狀態。Step+Status共同組成了工作流的狀態,也就實現了FSM中的Status。Step的Status在OSWorkflow中就是一段文本,狀態的判斷其實就是自定義的一段文本的比較,非常靈活。
3. Action:造成工作流狀態轉換的動作,比如”閱讀文件“動作,造成了工作流狀態從”領導審批+等待閱讀"轉換成“領導審批+等待提出意見”。由于工作流的狀態是Step+Status,所以Action可以造成Stats的變化,也可以造成Step的變化。
4. Result:工作流狀態的轉換,也就是Action造成的結果。也就是FSM中的Transition。每個Action中至少包含一個unconditional result和包含0或多個conditional result,Result的優先級順序是 第一個符合條件的conditional result >?其他符合條件的conditional result??> unconditional result。
5.Split/Join:字面意思就可以解釋。Split可以產生多個unconditional result;而Join可以判斷多個Step的狀態,如果都滿足條件的時候,Join產生一個unconditional result。可以用來實現其他工作流產品定義中的同步區的作用,比如一個投標文件的評標過程,分別要在技術方面和商務方面對標書進行評分,這樣就可以使用Split將工作流分開進入商務評標組和技術評標組分別進行評標,當兩個評標過程都完成后使用Join將兩個流程合并,并對兩個評標做的評分進行匯總。
6.External Functions:執行的功能和動作。任何的工作流引擎都要與實際的業務操作相結合,External Functions就是OSWorkflow中執行業務操作的部分,比如審批流程中,領導填寫意見后將領導的意見更新到業務數據庫中的過程。Functions有兩種類型,pre step function和post step function,分別發生轉移前和發生轉移后執行。Functions可以被定義到Step中和Action中。
7.Trigger Functions,一種不是定義在Action中的Function,依靠計劃自動執行。
8.Validators:用來檢驗用戶輸入是否符合條件,只有符合條件,Action對應的轉移才能執行,如果不符合條件,返回InvalidInputException異常。
轉于:ch(耐心)
posted on 2006-04-11 15:55
有貓相伴的日子 閱讀(558)
評論(0) 編輯 收藏 所屬分類:
workflow