工作流簡介及其6種常用的工作流引擎

2021-04-12 13:05:42 字數 3474 閱讀 4388

先說說四個非petrinet排程演算法的開源引擎... 4

obe的引擎排程機制... 4

shark的引擎排程機制... 5

osworkflow的引擎執行機制... 6

jbpm的引擎執行機制... 6

再說說兩個petrinet排程演算法的開源引擎... 9

yawl的引擎排程機制... 10

bossa的引擎排程機制(標準的pn機)... 12

工作流程的定義

工作流就是:

「在乙個工作群組中,為了達成某乙個共同目的而需要多人協力以循序或平行工作的形式來共同完成的任務」

關於工作流的幾個名詞解釋:

任務泛指各種事務上所必需執行的流程性工作

循序或平行工作

工作的流動性是乙個人接著乙個人執行,或同時由多人分開執行,或是上述兩類工作合併之後的混合性工作 多人

若是單人就可以完成的工作,則不能歸類為流程工作。凡是一件工作必須經由兩個或更多人來協力完成的工作才能稱為流程工作

共同目的

多人參的流程性工作,必須是以完成共同目的為前提。如果一群人是分別針對不同的專案來執行各別的工作,並不算構成乙個工作流程

工作流程的應用範圍

在一般的組織活動中,有相當多數量的事務性工作可以被歸類到流程性工作的範圍裡面,舉例如下:

採購單流程

貸款審核流程

員工績效考核流程

工作報表呈報流程

各類報表會簽流程

如何架構乙個工作流程

首先要定義出在乙個群組工作的環境下,所需要執行或控管的事務性工作性質及其內容

根據所定義的工作內容,再將它分成許多子工作,或稱為步驟。每個步驟都都包含了在這個階段所需要完成的專案清單,而且這些步驟內的專案應當是在邏輯上適合在同一步驟內完成的。任何一件流程工作都會有許多不同的方法來分解成許多子工作,而如何切割乙個流程工作,則要根據實際的情況來做判斷;

決定各個步驟需要那些專業背景的人員來執行;

決定各個步驟在流程執行時的順序;

在執行的過程中,有些步驟的執行會因為某些條件不同而產生不同的結果,進而影響到下乙個步驟的執行。所以我們必須要找出這些特定的步驟,並且將相關的執行狀態條件定義清楚;

將工作流程中的所有執行步驟及每個步驟之間的關係圖畫出來,並且根據這份關係圖來驗證流程的可行性。

根據各個步驟的不同需求,分別建立各階段所需要的表單,工作指令,檔案……等專案。

工作流管理系統(wfms)的三大功能模組

一般而言,所有的wfms都將包含如下三大功能模組:建立時功能、執行時控制功能、同使用者及應用程式的互動功能。

建立時功能 

主要目標是通過某種分析、建模及系統定義手段將現實世界的業務過程轉化成某種能夠被計算機處理的形式化表示。這種形式化表示,我們就稱之為過程定義(也稱過程模型、過程模板、過程元資料等)。過程定義中一般都包含有對業務過程中的各個活動步驟的描述、同這些活動相關的各種計算機或人工操作、以及在各活動之間進行切換的各種控制規則。過程定義所定義的,實際上就是控制工作流過程執行的各種引數。

執行時例項控制功能 

主要進行在某個計算環境中工作流過程的管理及各活動步驟之間的狀態轉換。執行時控制系統將解釋過程定義,完成過程的可操作例項的建立及控制,排程過程中各活動步驟,為所涉及到的使用者生成待其處理的任務,並在合適的時機呼叫有關的應用程式資源,等等。這些服務我們一般就稱之為「工作流執行服務」,有些系統可能是通過乙個工作流引擎提供這些服務,而在另外一些系統則可能會用到多個協作的工作流引擎。工作流引擎是工作流執行時控制系統的核心部分,各種過程例項的執行都是由它負責完成的。

執行時同使用者及應用的互動功能 

主要完成對工作流例項執行過程中各種活動的處理。在過程例項的執行過程中,經常需要使用者通過某種應用程式來完成過程定義所要求完成的處理或操作,例如填寫乙個表單,或使用某個應用程式(如字處理軟體、繪圖軟體等)生成新的文件或處理其他活動傳遞過來的文件等。另外工作流執行服務也可能需要自動的呼叫有關的應用對資料進行處理,如將某些資料寫入到某個資料庫系統中、呼叫某個應用程式對資料進行某種轉換等。在不同的wfms中,工作流執行服務所能訪問的應用或資源可能是不一樣的,如有些wfms可能不提供此種能力,有些可能只能訪問本地的應用或資源,有些則可能通過某種遠端呼叫機制(如rpc或物件**等)去訪問其他機器上的資源。所有這些構成了執行時互動功能的主要內容。

工作流管理系統的分類

1、結構化的與即席的

結構化工作流指的是在實際工作過程中會反覆重複、嚴格按照某個固定的步驟進行的業務過程。定義此種工作流所需要的各種型別的資訊可以通過對業務過程進行詳細的分析而得到,從而得到完整的過程定義並在以後的應用過程中反覆使用。大量的辦公程式,如公文處理、審批等都屬此類。即席工作流則是針對那些重複性不是很強或沒有重複性的工作流程的,關於這類流程執行所需的有關引數(如參加者等)事先無法確定,而必須推遲到過程例項執行時才能確定,同時在執行過程中間還可能會發生一些意外的情況。這種動態多變的特點在提供更高靈活性的同時,也為過程的建模與執行帶來更多的複雜性。

2、面向文件的與面向過程的

前者的側著點在於將電子形式的文件、影象等在有關的人員之間進行分發,以便能夠得到不同人的處理與審閱。現有的文件管理與映像管理系統均屬此類。在面向過程的wfms中,工作流被描述成一串行執行環節。與各環節相應都有待處理的資料物件。各環節的資料物件可以按不同的方式分發到其他環節中去,如可以將資料物件的值作為控制條件、或者依此資料物件組裝成其他的資料物件等。高階的wfms一般都屬此類系統。

3、基於郵件和基於資料庫

前者使用電子郵件來完成過程例項執行過程中訊息的傳遞、資料的分發與事件的通知。低端的系統所使用的經常就是此種方法,它可以充分發揮電子郵件系統在廣域環境下的資料分發功能,但整個系統將執行於一種鬆散耦合的模式下。在基於資料庫的wfms中,所有的資料都儲存在某種型別的dbms中,過程的執行實際上就是對這些資料的查詢與處理。高階的大規模系統所使用的一般都是此種方法。

4、任務推動的與目標拉動的

前者指的是從過程的開始逐步地乙個環節乙個環節的執行,當某個活動例項被處理完之後,後續的有關活動將被建立並被啟用,由此直至整個工作流程的完成。這是目前大多數面向過程的wfms所使用的執行方式。而在目標拉動的wfms中,乙個業務流程被看成是乙個目標。過程例項執行時,該目標將被分解得到多個相互之間按一定約束條件的關聯起來的可執行的多個環節,其中各環節還可以當成是子目標而進一步進行分解。在各環節均執行完畢之後,整個過程也就完成了。目標拉動是一種全新的執行方式,下一代的wfms將具有此種特徵。應該說明的是:上述分類只是從不同的角度入手的。一般來說,後面那些特點將給wfms帶來更好的靈活性,同時也將成為那些能夠支援跨機構的大規模複雜工作流管理、面向關鍵任務的wfms不可缺少的特徵。

工作流簡介及其6種常用的工作流引擎

先說說四個非 petri 排程演算法的開源引擎 4obe 的引擎排程機制 4shark 的引擎排程機制 5osworkflow 的引擎執行機制 6jbpm 的引擎執行機制 6再說說兩個 petri 排程演算法的開源引擎 9yawl 的引擎排程機制 10bossa 的引擎排程機制 標準的 pn機 12...

工作流簡介

什麼是工作流引擎 workflow engine 當今社會分工越來越細,在乙個單位內部也越來越強調專業化,大部分工作都需要多個部門和員工合作完成。乙個制度良好的單位往往對各種工作的工作流程以檔案的形式固定下來,即使是管理不太正規的單位也有約定俗成的工作步驟。這種工作流程保證了一件任務能按預定的順序從...

工作流建模 工作流概念

工作流建模 工作流概念 1 案例 工作流系統得基本目的是處理案例。每個案例都有乙個唯一標識,而且每個案例的生命週期都是有限的。案例生命週期都處於某個特定狀態,該狀態由三個元素組成 1 案例相關的屬性的值 案例屬性是一系列同案例相關的變數。能夠用來管理案例。正是通過這些變數,才有可能指出在特定條件下某...