關於步驟狀態
在高階,工作流程中的每一個步驟代表整體商業程序中的一個活動,例如,在貸款處理工作流程中驗證就業狀態。
對於大部分使用者而言,單一動作的步驟概念是適當的,不過實際上,一個步驟會經歷一連串個別階段,即所謂的狀態。 在每一個狀態內,系統軟體會對工作項目執行一或多項作業。 一般而言,步驟狀態對使用者而言是透明的;不過,工作流程作者和應用程式開發人員可能需要瞭解步驟狀態,才能在工作流程定義及應用程式設計中做出可靠的決策。
以下是可能發生在步驟內的作業之概觀。 作業依序列出並依其個別狀態分組(每一個狀態都有編號)。 此概觀亦顯示控制流程可在哪些點移至另一個工作流程對映(以 => 指出)。
- 步驟之前
- 在延遲佇列中結合子項與母項
- 如果是最後一個子項,則使母項前進到步驟中
- 前置條件
- 清除 F_Comment
- 清除 F_Responses 和 F_ResponseCount
- 預先指派
- 執行預先指派
- [=> 異常狀況]
- 執行預先指派
- 里程碑
- 執行前置里程碑
- 截止時間
- 計算截止時間表示式
- [=> 異常狀況]
- 必要的話,請計算提醒表示式。
- [=> 異常狀況]
- 計算截止時間表示式
- 佇列
- 必要的話,請分割成多個參與者工作項目
- 必要的話,使工作項目進入佇列中。當工作項目在佇列中時:
- [=> API 呼叫]
- [=> API 異常狀況]
- [=> 計時器到期]
- 後置指派
- 檢查回應
- 執行後置指派
- [=> 異常狀況]
- 結束步驟
- 執行後置里程碑
- 評估遞送
- 清除 F_Responses 和 F_ResponseCount
- 清除 F_Comments
- 路由
- 必要的話,請分割成子項
- 必要的話,請將母項儲存在延遲佇列中
- 將工作項目移至下一個步驟
接管的工作流程對映(在上方有 => 標示的點上)可包含 Return 系統函數。 每一個 Return 包括一個重試選項,當控制權回到原始工作流程對映時,此重試選項會告知「指示表直譯器 (ISI)」跳過或重複包含呼叫實體的狀態。 例如,在後置指派執行期間,如果後置指派狀態發生異常狀況(上面的 7b),該異常狀況就是呼叫實體。 如果 ISI 在呼叫的工作流程對映中呼叫到 Return 系統函數,控制權將回到原始(呼叫)工作流程對映。 視如何定義 Return 而定,在回到呼叫的工作流程對映時,ISI 可能重複或跳過後置指派狀態。 請注意,重複或跳過設定適用於該狀態,但不適用於該狀態內觸發呼叫實體的作業。 下表指出對應於返回和跳過的 ISI 行為。
重試選項 | 回到呼叫對映時的 ISI 行為 |
---|---|
重複 | 將工作項目移至呼叫另一個對映時所處之狀態的開頭。 |
跳過 | 將工作項目移至下一個狀態的開頭(亦即,呼叫另一個對映時工作項目所處狀態之後的狀態)。 |