2011年12月13日 星期二

BPM11g PS4FP新功能介紹 -- AlterFlow

最近太忙,好久沒有寫文章了。很快更新一下最新在BPM11g PS4FP的其中一項重要的新功能:AlterFlow (也就是在BPM 10g出現的Grab功能)。

AlterFlow的目的是提供特定人員透過手動介入流程的執行,以更改目前流程執行到的步驟、或是更動流程中變數資料。在BPM應用之中,此功能往往是使用者或管理人員在例外處理所需要的重要功能,現在終於在BPM11g PS4FP中出現了。


首先,我設計了一個很簡單流程如下:
















在流程中我定義了兩個人工關卡 - Step1與Step2,分別交給Role1與Role2兩種角色執行,另外一個在流程中的重要角色叫做Process Owner,此角色不需要由開發人員創建,基本上在每一個流程中系統會預設此角色,此角色在AlterFlow中十分重要,任何屬於此流程Process Owner角色的人員都可以使用AlterFlow功能介入人工處理。另外,在流程中我也定義了一個字串變數叫做msg,簡單用來記錄每個關卡之後的狀態。

部署並執行此流程後,先登入Role1的使用者完成Step1,接下來,請用擁有Process Owner角色的使用者登入BPM Workspace,選擇"處理追蹤"工作頁,按下"進階",並選擇搜尋條件,在此你可以選定指派給所有使用者(所有角色)的特定流程 - AlterFlow v1.0:












接下來,你可以找到目前正在執行中的所有AlterFlow流程instance,選定你要更動的instance之後,你可以看到到如下圖所示的目前流程執行狀態:















你可以清楚在"稽核歷程檔"以及"開啟的活動"中看到流程執行的歷史以及目前停留的活動位置。選擇"動作" --> "更改流程並暫停",你會見到如下圖所示的畫面,你可以在"新活動"中選擇你所希望流程跳到哪一個活動位置,如圖所示,我們可以把流程手動回到上一個Step1的步驟:


另外,如果你同時需要更動變數資料,以清除或還原流程狀態的話,你可以選擇中間變數並按下那一支筆的圖案:


接下來就可以改資料了,只不過是raw XML的格式,對一般使用者是比較苦了...

在台灣,有些客戶有特定的流程"抽件"需求,也就是,關卡已經送出了,但是在下一關人員尚未執行之前,可以將案件反悔抽回至自己手上,遇到這樣的需求,看來AlterFlow配合上API的前端客制是最容易實現的方式了。


沒有留言: