工作流數據模式-可見性模式8種

共有8種可見性模式,它們建立起不同工作流組件級別的變量作用範圍。

圖C-12 工作流數據可見性模式

  1. 活動變量:在單個活動上定義變量,變量的作用範圍爲該活動。
  2. 塊活動變量:在塊活動上定義變量,變量的作用範圍爲塊活動所包含的所有子活動。
  3. 活動範圍變量:爲一定範圍內的活動定義變量,變量的作用範圍爲範圍內的所有活動。
  4. 多實例變量:在多實例活動上定義變量,變量的作用範圍爲所有屬於該活動的工作項。
  5. 流程實例變量:爲流程實例定義變量,變量的作用範圍爲該流程實例裏所有的活動。
  6. 文件夾變量:定義變量集合,當啓動流程實例時,流程實例與該變量集合綁定,變量的作用範圍爲所有共享該變量集合的流程實例。
  7. 流程定義變量:爲流程定義定義變量,變量的作用範圍爲所有屬於該流程定義的流程實例。
  8. 環境變量:變量是應用級別的業務數據、跨業務系統的數據。

活動變量(WDP_1: Task Data)

描述

活動能夠定義變量,在一個流程實例裏,該變量只能被其活動實例所使用。

圖C-13 活動級別的數據可見性

活動變量與業務數據權限控制
在應用工作流系統時,我們經常碰到這樣的問題:一個流程實例中的不同活動對業務數據擁 有不同的權限,如圖C-14所示。

圖C-14 與流程相關的業務數據權限

在執行請假申請活動時,申請者編輯請假人、天數和原因3個字段;而到審批活動時,審批 者增加了一個可編輯的審批意見字段,但其餘3個字段變爲只讀字段。我們將這類問題統稱爲與 流程相關的業務數據權限控制。

此時,我們在業務系統裏引入業務權限角色的概念,通過該角色隔離開工作流系統與業務數 據權限,即業務數據權限的管理屬於業務系統範圍(由業務系統實現)。在定義好業務系統的權 限角色後,我們通過活動級別的變量將流程中的具體活動與業務權限角色綁定,這樣就實現了流 程活動與業務數據權限的掛接,同時又保持了工作流系統的單一職責。

圖C-15 流程相關的業務數據權限控制

塊活動變量(WDP_2: Block Data)

描述

塊活動能夠定義變量,在一個流程實例裏,其所包含的子活動實例能夠使用這些變量。

圖C-16 塊活動級別的數據可見性

應用

在塊活動爲子流程的情況下,塊活動級別變量最重要的職責就是初始化子流程實例:在父流 程實例裏爲子流程實例的第一個活動指定參與者,傳遞子流程實例所必需的業務數據。

活動範圍變量(WDP_3: Scope Data)

描述

一定的活動範圍能夠定義變量,在一個流程實例裏,該範圍所包含的活動實例能夠使用該 變量。

圖C-17 活動範圍級別的數據可見性

活動範圍和子流程在概念上比較相似,都是包含一系列的子活動,它們之間的差別在於:子 流程具有比較獨立的上下文(例如子流程由另外一個部門執行)和執行環境,能夠複用,而活動 範圍則是對流程中活動的一種分組,脫離開當前流程的上下文,這些活動無法執行。

多實例變量(WDP_4: Multiple Instance Data)

描述
多實例活動能夠定義變量,在一個流程實例裏,該活動的每一個工作項都能夠初始化該變量, 並獨立使用。

什麼情況下會應用到多實例活動?當一個活動需要多人共同參與並且實際執行過程中互不 影響時,我們會使用多實例活動對該業務場景進行建模。重要的有兩點:一是每個工作項一定具 有相同的業務上下文;二是執行過程各自獨立。對多實例活動而言,最重要的就是在各個工作項 執行完畢後進行數據的彙總。根據不同的業務場景,彙總策略不同。例如在企業決策裏,當多人 同時決策時,採取少數服從多數;而在進行員工某項關鍵技能考覈時,採用一票否決制。

圖C-18 多實例活動級別的數據可見性

流程實例變量(WDP_5: Case Data)

描述

流程定義能夠定義變量,在一個流程實例裏,該流程實例中的所有活動實例都能夠使用這些 變量。

圖C-19 流程實例級別的數據可見性

應用

流程實例變量是應用最廣泛的工作流變量,一方面是因爲很多工作流系統只支持流程實例級 別的工作流變量,另一方面是整個流程實例所共享的上下文依賴於流程實例變量的建立,存在兩 個最重要的流程實例變量:一個是業務領域模型的唯一標識符ID,另外一個是該領域模型對應業 務表單的URL。

文件夾變量(WDP_6: Folder Data)

描述

流程定義能夠定義一組變量,我們把這些變量的集合稱爲文件夾,當啓動一個流程實例時, 流程實例能夠與這些變量綁定,一旦綁定,該流程實例裏的所有活動實例就能夠使用該文件夾裏 的變量。

圖C-20 文件夾級別的數據可見性

應用

不同的流程實例之間能夠選擇性的共享數據。如建立與流程相關的知識庫應用。如圖C-21 所示。

圖C-21 使用文件夾變量建立活動與知識庫的關聯

流程定義變量(WDP_7: Workflow Data)

描述

流程定義能夠定義變量,所有屬於該流程定義的流程實例都能使用這些變量,這些變量在其 所有流程實例的活動間是共享的。

圖C-22 流程定義級別的數據可見性

環境變量(WDP_8: Environment Data)

描述

流程實例裏的活動能夠在運行期使用外部環境的變量,這裏的外部環境包括了外部數據倉庫 (數據庫)、外部應用和外部服務等。

圖C-23 環境級別的數據可見性

應用

該模式強調工作流系統的集成能力,工作流系統在執行時需要具備從外部獲取和交換數據的 能力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章