在工作流系統中,系統排程是核心,排程演算法的生效程度和成熟性直接決定了工作流系統的可用性。本文章描述工作流如何推進和回退,並且描述在分之、合併、跳轉等特殊情況下的流轉規則處理。
1.1 流程例項
1.2 啟動節點(start-state)
1.3 終止節點(end-state)
1.4 活動節點(activety node)
活動節點是流程中最主要的節點,也是最複雜的節點。系統執行到該節點時將根據規則定義產生任務項(task item),任務項是使用者與工作流進行交換唯一途徑。
在活動節點需要各種各樣的規則,包括以下幾個方面:
u 節點業務屬性
ø 業務功能定義,定義該節點所關聯的業務
ø 變數定義,包括本身節點變數定義和取公有變數節點定義
ø 啟動條件定義,定義該節點在什麼條件下啟動。
u 流程執行規則
ø 執行者範圍定義,定義該節點哪些部門或角色或個人可以執行。
ø 是否可以終止,定義該節點是否可以終止流程。
ø 生效條件定義,定義該節點執行生效表示式。
ø 限時處理定義,定義該節點處理時限。
ø 協作規則定義,定義該節點協作方式,包括任務分配方式、任務執行方式和任務搶占方式。
u 流程回退規則
ø 能否回退標記,指示該節點是否可以執行回退操作
ø 回退忽略標記,指示系統回退時,該節點是否忽略。
ø 生效條件定義,定義該節點回退生效條件表示式。
ø 回退模式定義,定義從該節點如何執行回退
ø 回退環節定義,如果回退模式定義定義為指定環節,則需要定義回退環節。
ø 回退確認標記,指示該節點回退時,是否需要進行提示。
u 流程合併規則
ø 合併流程標記,指示該節點執行合併操作時,是否對流程進行合併。
ø 生效條件定義,定義該節點合併生效條件表示式
u 流程跳轉規則
ø 生效條件定義,定義該節點跳轉生效表示式
ø 任務等待方式,定義跳轉時,如何處理未完成任務的情況。
ø 跳轉條件定義,定義該節點在什麼情況下進行跳轉。
u 流程**規則
ø 能否**定義,指示該節點是否可以執行**操作。
ø **範圍定義,定義該節點可以**給哪些人。
ø 生效條件定義,定義該節點**生效條件表示式。
ø **確認標記,指示該節點**時,是否需要進行提示
u 流程通知提醒規則
ø 生效條件定義,定義該節點通知生效表示式
ø 通知接收範圍定義,定義該節點哪些人可以接收通知。
ø 通知模式定義,定義何時進行通知。
ø 通知內容定義,定義通知時傳送的內容
1.5 條件節點(condition node)
條件節點用來用來定義流程流轉條件,用來控制流程流轉方向
條件節點需要定義以下內容:
u 條件表示式,用來計算條件值
1.6 事件節點(event node)
事件節點用來定義流程在流轉過程進行外部互動的操作,如傳送郵件、傳送簡訊等等操作。
事件節點不需要使用者介入操作,由系統自動完成,因此,也不需要生成工作任務項(task item)。
工作流系統提供抽象供使用者實現事件節點邏輯,工作流在例項執行過程中,自動**該介面完成操作。
事件節點需要定義以下內容:
u 生效條件定義,定義該節點有效條件,如果條件無效,則忽略該節點,自動流轉到下乙個節點。
1.7 子流程節點(sub process node)
子流程節點用來用來定義在工作流程過程呼叫另外乙個流程的功能,系統不在子流程產生定工作任務項(task item),但可以產生通知提示。
在子流程節點需要各種各樣的規則,包括以下幾個方面:
u 節點業務屬性
u 子流程回退規則
1.8 外部系統呼叫節點
業務系統在執行過程中,需要與其它系統進行資料交換(即呼叫其它系統一些介面等),外部系統呼叫節點就是用來完成該項任務。
工作流系統提供一套抽象的業務介面,供工作流程開發人員實現,系統在執行該節點自動**該介面,完成與其它系統交換的功能。
外部系統呼叫節點定義包括以下內容:
1.9 分支條件節點(split node)
分支條件節點是業務流程定義過程中非常重要節點,用來控制流程流向。
分支條件節點有以下三種:
分支條件節點不會產生工作任務項(task item),系統流轉到該環節時自動處理,並流轉到下個節點。
分支條件節點定義包括以下內容:
1.10 合併節點(join node)
合併節點是合併多個流入節點,控制任務流轉。
合併節點不會產生工作任務項(task item),系統流轉到該環節時自動處理,並流轉到下個節點。
合併節點包括兩種型別:
或合併節點(or join node):不等待所有流入節點完成任務,任何乙個流入節點都直接通過。
合併節點定義包括以下:
u 流程合併規則定義
u 回退規則定義
1.11 邏輯節點(logic node)
邏輯節點是用來聯合多個條件節點,以控制流程流向。
邏輯節點包括三種型別:
業務工作流平台設計 六
鎖定處理 在前面的文章我已經講過,把使用者資料的收集同工作流例項中分離出來。資料的儲存也就很可能地進行了分離。這種資料的分離會要求我們去做更多的工作 l 維護工件 如稿件,任務等要在工作流中進行加工的東西 與工作流例項的關係。我們用 wf自帶的 sqlworkflowpersistenceservi...
實戰筆記 分布式排程 工作流引擎
一 分布式排程 spring schedler 分布式鎖 quartz xxl job xxl job架構 實現 xxl job定義了兩個介面executorbiz,adminbiz executorbiz scheduler 呼叫者 executor 實現方 介面中封裝了心跳,暫停,觸發執行等操作...
乙個工作流的業務例子
乙個工作流的業務例子 學工作流要有例子,憑空想像的例子與真實的應用是有差距的,看了一下以前幹過的例子,工控涉汲硬體控作不適業當例子。有些業務性又太強,光理解業務就要好久。發現這個與行政許可相關的例子還不錯,與日常生活也比效接近,就把業務遊程圖與系統流程圖傳上來了。以下檔案是jpg格式,只是將副檔名改...