一.
概述
企 業在進行業務處理時,**在進行公文審批時,都是以流程形式而進行的,在資訊化的過程中,企業、**也將這些業務處理、公文審批的過程資訊化了,早期通常 是通過程式硬編碼的方式來處理這些業務、公文的流轉,隨著業務、公文的複雜的處理情況不斷出現以及需求的不斷變更,這種硬編碼的方式顯然已無法應對,這個 時候工作流管理系統應運而生,掀起了一股工作流管理系統的熱潮。
那麼到底工作流管理系統能夠帶來什麼好處?工作流管理系統通過對業務、公文流轉進行分析以及抽象,將不變和變化的部分進行劃分,使用者可輕鬆的通過視覺化的工具對事項的流程、流程環節涉及的人員(角色
)、流程環節的表單、流程環節的操作進行修改,從而到達了應對不斷變化的需求的目的,而工作流管理系統通常提供的流程監控、查詢統計模組更是極大程度的為使用者優化流程提供支援,以提高企業、**的工作效率。
本文主要描述工作流管理系統通常的結構、參考模型以及通常使用的排程演算法。
二.
構成
工作流管理系統,簡稱
wfms
, 經過對業務、公文流轉過程的分析以及抽象,工作流管理系統圍繞業務互動邏輯、業務處理邏輯以及參與者三個問題進行解決,業務互動邏輯對應的為業務的流轉過 程,在工作流管理系統中對應的提出了工作流引擎、工作流設計器、流程操作來解決業務互動邏輯的問題,業務處理邏輯對應業務流轉過程中的表單、文件等的處 理,在工作流管理系統中對應的提出了表單設計器、與表單的整合來解決業務處理邏輯的問題,參與者對應到的為流轉過程中環節對應的人或程式,在工作流管理系 統中通過與應用程式的整合來解決參與者的問題。
工作流管理系統為方便業務互動邏輯、業務處理邏輯以及參與者的修改,多數通過提供視覺化的流程設計器以及表單設計器來實現,為實現工作流管理系統的擴充套件性,多數提供了一系列的
api。
乙個完整的工作流管理系統通常由工作流引擎、工作流設計器、流程操作、工作流客戶端程式、流程監控、表單設計器、與表單的整合以及與應用程式的整合八個部分組成。
2.1.
工作流引擎
工 作流引擎作為工作流管理系統的核心部分,主要提供了對於工作流定義的解析以及流程流轉的支援。工作流定義檔案描述了業務的互動邏輯,工作流引擎通過解析此 工作流定義檔案按照業務的互動邏輯進行業務的流轉,工作流引擎通常通過參考某種模型來進行設計,通過排程演算法來進行流程的流轉
(流程的啟動、終止、掛起、恢復等
),通過各種環節排程演算法
(split
、and、or
等)來實現對於環節的流轉
(環節的合併、分叉、選擇、條件性的選擇等)。
2.2.
工作流設計器
工作流設計器為視覺化的流程設計工具,使用者通過拖放等方式來繪製流程,並通過對於環節的配置來實現環節操作、環節表單、環節參與者的配置。
工作流設計器為使用者以及開發商提供了快速繪製、修改流程的方式,工作流設計器的好壞決定到工作流管理系統的易用性。
2.3.
流程操作
流程操作指所支援的對於流程環節的操作,如啟動流程、終止流程、掛起流程、直流、分流
(單人辦理
)、並流
(多人同時辦理
)、聯審等,象這些流程操作都是可直接基於引擎所提供的環節排程演算法來直接支援的,而在實際的需求中,通常需要自由的對於流程進行干涉,如取回、回退、跳轉、追加、傳閱、傳閱辦理等,而這些流程操作對於工作流引擎來說是不合理的,因此必須單獨的去實現。
流程操作支援的好壞直接決定到乙個工作流管理系統的實用性。
2.4.
工作流客戶端程式
工作流客戶端程式為工作流系統的表現形式,通常使用
web方式進行展現,通過提供待辦列表、已辦列表、執行流程操作、檢視流程歷史資訊等來展現工作流系統的功能。
2.5.
流程監控
流程監控通過提供圖形化的方式來對流程執行過程進行監控,包括流程運轉狀況,每個環節所耗費的時間等等,而通過這些可相應的進行流程的優化,以提高工作效率。
2.6.
表單設計器
表單設計器為視覺化的表單設計工具,使用者通過拖放的方式來繪製業務所需的表單,並可相應的進行表單資料的繫結。
表單設計器為客戶以及開發商提供了快速修改表單的方法,表單設計器的易用與否以及功能的完善與否影響到工作流管理系統的易用性。
2.7.
與表單的整合
通常業務流轉需要表單來表達實際的業務,因此需要與表單進行整合來實現業務意義,與表單的整合通常包括表單資料的自動獲取、儲存、修改,表單域的許可權控制、流程相關資料的維護以及流程環節表單的繫結。
與表單的整合的好壞影響到工作流管理系統是否能提高開發效率。
2.8.
與應用程式的整合
通過與應用程式的整合來完善工作流管理系統的業務意義,主要涉及到的是與許可權系統以及組織機構的整合。流程環節需要相應的繫結不同的執行角色,而流程操作通常需要與許可權系統、組織機構進行關聯。
三.
參考模型
工作流系統通常通過參考一些標準的模型來進行設計,主要的有
wfmc
和omg
,在這裡主要介紹一下
wfmc。
3.1.
wfmc
wfmc
是國際工作流管理聯盟,它於
1993
年成立,發布了一系列的工作流定義、軟體介面的草案文字,是目前世界上公認的最具權威性的工作流標準制定機構,得到了廣泛的支援和應用。
2023年10
月25日,
wfmc
發布了基於
xml的流程定義語言
1.0版的最終文字(
workflow process definition inte***ce----xml process definition language
文件編號:
wfmc-tc-1025
),以及此前發布的工作流應用軟體介面規範
wfmc-tc-1009, wfmc-tc-1013
等系列檔案,構成了工作流定義及系統的設計標準。
為了實現不同工作流產品之間的互操作,
wfmc
在 工作流管理系統的相關術語、體系結構及應用程式設計介面等方面制定了一系列標準。工作流管理聯盟給出的工作流定義是:工作流是指整個或部分經營過程在計算機支 持下的全自動或半自動化。在實際情況中可以更廣泛地把凡是由計算機軟體系統(工作流管理系統)控制其執行的過程都稱為工作流。
一 個工作流包括一組活動及它們的相互順序關係,還包括過程及活動的啟動和終止條件,以及對每個活動的描述。工作流管理系統指執行在乙個或多個工作流引擎上用 於定義、實現和管理工作流執行的一套軟體系統,它與工作流執行者(人、應用)互動,推進工作流例項的執行,並監控工作流的執行狀態。
wfmc
主要提出了五個介面與工作流執行服務一起共同組成了工作流系統: l
介面一(
工作流定義交換
),用於在建模和定義工具與執行服務之間交換工作流定義。主要是資料交換格式和
api。資料交換通過
xpdl
,api
通過wapi。
l介面二
(工作流客戶端應用介面
),用於工作流客戶端應用訪問工作流引擎和工作列表,通過
wapi
完成。
l介面三
(被呼叫的應用介面
),用於呼叫不同的應用系統。 l
介面四(
工作流系統互操作介面
),用於不同工作流系統之間的互操作。 l
介面五(
系統管理和監控
),用於系統管理應用訪問工作流執行服務。
四.
核心排程演算法
通常流程引擎採用的核心排程演算法主要有
fsm以及
petrinet
兩種,基於排程演算法來完成流程的流轉。
4.1.
fsm(有限狀態機)
fsm的定義為包含一組狀態集(
states
)、乙個起始狀態(
start state
)、一組輸入符號集(
alphabet
)、乙個對映輸入符號和當前狀態到下一狀態的轉換函式(
transition function
)的計算模型。當輸入符號串,模型隨即進入起始狀態。它要改變到新的狀態,依賴於轉換函式。在有限狀態機中,會有有許多變數,例如,狀態機有很多與動作(
actions
)轉換(mealy機)
或狀態(摩爾機)關聯的動作,多重起始狀態,基於沒有輸入符號的轉換,或者指定符號和狀態(非定有限狀態機)的多個轉換,指派給接收狀態(識別者)的乙個或多個狀態,等等。
遵循fsm流程引擎通過狀態的切換來完成流程的流轉。
4.2.
petrinet
資訊流的乙個抽象的、形式的模型。指出一系統的靜態和動態性質。
petrinet
通常表示成圖。圖中有兩類用弧彼此相連的結點(稱為地點和變換)和指示其動態效能的標記(稱為記號)。
遵循petrinet
流程引擎通過令牌來決定流程的流轉。
工作流管理系統概念
為 了 實 現 組 織 目 標,有 關 業 務 活 動 依 時 序 或 邏 輯 關 系 相 互 連 接 構 成 業 務 流 程。在 業 務 開 展 過 程 中,文 檔 信 息 或 任 務,依 據 組 織 規 範 在 參 與 者 之 間 傳 遞 處 理 或 執 行。業 務 流 程 中,實 現 了 基 ...
工作流管理系統架構
wfmc提出的工作流管理系統產品架構。這個架構給出了抽象的工作流管理系統的功能組成部件和介面,它能夠滿足工作流管理系統和產品應該具有的主要功能,可為實現工作流產品之間的互操作提供公共的基礎。從圖中可以看出,工作流管理系統主要由三部分組成 上圖也是wfmc提出的工作流管理系統的架構設計圖。我們這裡來解...
工作流管理系統 jBPM
執行環境 授權方式 bsd 軟體大小 m 589更新日期 2014 04 04 jbpm是乙個靈活可擴充套件的工作流管理系統。作為 jbpm執行時server輸入的業務流程使用簡單強大的語言表達並打包在流程檔案中。jbpm將工作流應用開發的便利性和傑出的企業應用整合 eai 能力結合了起來。jbpm...