工作流
工作流程的定義
www.jiedichina.com,南京捷帝科技
工作流就是:
「在乙個工作群組中,為了達成某乙個共同目的而需要多人協力以循序或平行工作的形式來共同完成的任務」
關於工作流的幾個名詞解釋:
任務
泛指各種事務上所必需執行的流程性工作
循序或平行工作
工作的流動性是乙個人接著乙個人執行,或同時由多人分開執行,或是上述兩類工作合併之後的混合性工作
多人
若是單人就可以完成的工作,則不能歸類為流程工作。凡是一件工作必須經由兩個或更多人來協力完成的工作才能稱為流程工作
共同目的
多人參的流程性工作,必須是以完成共同目的為前提。如果一群人是分別針對不同的專案來執行各別的工作,並不算構成乙個工作流程
工作流程的應用範圍
在一般的組織活動中,有相當多數量的事務性工作可以被歸類到流程性工作的範圍裡面,舉例如下:
採購單流程
貸款審核流程
員工績效考核流程
工作報表呈報流程
各類報表會簽流程
如何架構乙個工作流程
首先要定義出在乙個群組工作的環境下,所需要執行或控管的事務性工作性質及其內容
根據所定義的工作內容,再將它分成許多子工作,或稱為步驟。每個步驟都都包含了在這個階段所需要完成的專案清單,而且這些步驟內的專案應當是在邏輯上適合在同一步驟內完成的。任何一件流程工作都會有許多不同的方法來分解成許多子工作,而如何切割乙個流程工作,則要根據實際的情況來做判斷;
決定各個步驟需要那些專業背景的人員來執行;
決定各個步驟在流程執行時的順序;
在執行的過程中,有些步驟的執行會因為某些條件不同而產生不同的結果,進而影響到下乙個步驟的執行。所以我們必須要找出這些特定的步驟,並且將相關的執行狀態條件定義清楚;
將工作流程中的所有執行步驟及每個步驟之間的關係圖畫出來,並且根據這份關係圖來驗證流程的可行性。
根據各個步驟的不同需求,分別建立各階段所需要的表單,工作指令,檔案……等專案。
工作流管理系統(wfms)的三大功能模組
一般而言,所有的wfms都將包含如下三大功能模組:建立時功能、執行時控制功能、同使用者及應用程式的互動功能。
建立時功能
主要目標是通過某種分析、建模及系統定義手段將現實世界的業務過程轉化成某種能夠被計算機處理的形式化表示。這種形式化表示,我們就稱之為過程定義(也稱過程模型、過程模板、過程元資料等)。過程定義中一般都包含有對業務過程中的各個活動步驟的描述、同這些活動相關的各種計算機或人工操作、以及在各活動之間進行切換的各種控制規則。過程定義所定義的,實際上就是控制工作流過程執行的各種引數。
執行時例項控制功能
主要進行在某個計算環境中工作流過程的管理及各活動步驟之間的狀態轉換。執行時控制系統將解釋過程定義,完成過程的可操作例項的建立及控制,排程過程中各活動步驟,為所涉及到的使用者生成待其處理的任務,並在合適的時機呼叫有關的應用程式資源,等等。這些服務我們一般就稱之為「工作流執行服務」,有些系統可能是通過乙個工作流引擎提供這些服務,而在另外一些系統則可能會用到多個協作的工作流引擎。工作流引擎是工作流執行時控制系統的核心部分,各種過程例項的執行都是由它負責完成的。
執行時同使用者及應用的互動功能
主要完成對工作流例項執行過程中各種活動的處理。在過程例項的執行過程中,經常需要使用者通過某種應用程式來完成過程定義所要求完成的處理或操作,例如填寫乙個表單,或使用某個應用程式(如字處理軟體、繪圖軟體等)生成新的文件或處理其他活動傳遞過來的文件等。另外工作流執行服務也可能需要自動的呼叫有關的應用對資料進行處理,如將某些資料寫入到某個資料庫系統中、呼叫某個應用程式對資料進行某種轉換等。在不同的wfms中,工作流執行服務所能訪問的應用或資源可能是不一樣的,如有些wfms可能不提供此種能力,有些可能只能訪問本地的應用或資源,有些則可能通過某種遠端呼叫機制(如rpc或物件**等)去訪問其他機器上的資源。所有這些構成了執行時互動功能的主要內容。
工作流管理系統的分類
1、結構化的與即席的
結構化工作流指的是在實際工作過程中會反覆重複、嚴格按照某個固定的步驟進行的業務過程。定義此種工作流所需要的各種型別的資訊可以通過對業務過程進行詳細的分析而得到,從而得到完整的過程定義並在以後的應用過程中反覆使用。大量的辦公程式,如公文處理、審批等都屬此類。即席工作流則是針對那些重複性不是很強或沒有重複性的工作流程的,關於這類流程執行所需的有關引數(如參加者等)事先無法確定,而必須推遲到過程例項執行時才能確定,同時在執行過程中間還可能會發生一些意外的情況。這種動態多變的特點在提供更高靈活性的同時,也為過程的建模與執行帶來更多的複雜性。
2、面向文件的與面向過程的
前者的側著點在於將電子形式的文件、影象等在有關的人員之間進行分發,以便能夠得到不同人的處理與審閱。現有的文件管理與映像管理系統均屬此類。在面向過程的wfms中,工作流被描述成一串行執行環節。與各環節相應都有待處理的資料物件。各環節的資料物件可以按不同的方式分發到其他環節中去,如可以將資料物件的值作為控制條件、或者依此資料物件組裝成其他的資料物件等。高階的wfms一般都屬此類系統。
3、基於郵件和基於資料庫
前者使用電子郵件來完成過程例項執行過程中訊息的傳遞、資料的分發與事件的通知。低端的系統所使用的經常就是此種方法,它可以充分發揮電子郵件系統在廣域環境下的資料分發功能,但整個系統將執行於一種鬆散耦合的模式下。在基於資料庫的wfms中,所有的資料都儲存在某種型別的dbms中,過程的執行實際上就是對這些資料的查詢與處理。高階的大規模系統所使用的一般都是此種方法。
4、任務推動的與目標拉動的
前者指的是從過程的開始逐步地乙個環節乙個環節的執行,當某個活動例項被處理完之後,後續的有關活動將被建立並被啟用,由此直至整個工作流程的完成。這是目前大多數面向過程的wfms所使用的執行方式。而在目標拉動的wfms中,乙個業務流程被看成是乙個目標。過程例項執行時,該目標將被分解得到多個相互之間按一定約束條件的關聯起來的可執行的多個環節,其中各環節還可以當成是子目標而進一步進行分解。在各環節均執行完畢之後,整個過程也就完成了。目標拉動是一種全新的執行方式,下一代的wfms將具有此種特徵。應該說明的是:上述分類只是從不同的角度入手的。一般來說,後面那些特點將給wfms帶來更好的靈活性,同時也將成為那些能夠支援跨機構的大規模複雜工作流管理、面向關鍵任務的wfms不可缺少的特徵。
www.jiedichina.com,南京捷帝科技
workflow工作流型別及其區別
在workflow中,工作流分為兩種型別,順序工作流 sequential 和狀態機工作流 state machine 順序工作流將一系列要執行的步驟以一種預先設計好的流程順序執行。在這種工作流裡,控制流程的是我們很熟悉的如if else和while迴圈結構。順序工作流的行為可以用簡單的流程圖來演示...
工作流 Workflow 和BPM的區別
區分workflow與bpm 按照我最初的設想,這篇文章本不應該寫workflow與bpm的區別的,但是世界總是變化這麼快。前幾天給公司內部的期刊寫了篇介紹工作流的文章,之後就有很多同事詢問workflow與bpm的區分問題。於是不得已就寫了點這方面自己的看法,現摘錄如下 對workflow和bpm...
git簡單個人工作流 workflow
適用於開發個人專案場景 在github上新建立乙個repo,假設命名為testgit git shell進入你的工作空間,建立目錄testgit,並進入此目錄。命令如下 mkdir testgit cd testgit 將此目錄初始化為repo git init如果初始化成功,目錄下就會生成.git...