1. 工作流歷史
工作流技術發端于 1970 年代中期辦公自動化領域的研究工作,但工作流思想的出現還應該更早, 1968 年 Fritz Nordsieck 就已經清楚地表達了利用信息技術實現工作流程自動化的想法。 1970 年代與工作流有關的研究工作包括:賓夕法尼亞大學沃頓學院的 Michael D. Zisman 開發的原型系統 SCOOP ,施樂帕洛阿爾托研究中心的 Clarence A. Ellis 和 Gary J. Nutt 等人開發的 OfficeTalk 系列試驗系統,還有 Anatol Holt 和 Paul Cashman 開發的 ARPANET 上的“監控軟件故障報告”程序。 SCOOP, Officetalk 和 Anatol Holt 開發的系統都采用 Petri 網的某種變體進行流程建模。其中 SCOOP 和 Officetalk 系統,不但標志著工作流技術的開始,而且也是最早的辦公自動化系統。
1970 年 代人們對工作流技術充滿著強烈樂觀情緒,研究者普遍相信新技術可以帶來辦公效率的巨大改善,然而這種期望最終還是落空了。人們觀察到這樣一種現象,一個成 功的組織往往會在適當的時候創造性的打破標準的辦公流程;而工作流技術的引入使得人們只能死板的遵守固定的流程,最終導致辦公效率低和人們對技術的反感。 1970 年代工作流技術失敗的技術原因則包括:在辦公室使用個人計算機尚未被社會接受,網絡技術還不普遍,開發者還不了解群件技術的需求與缺陷。
含有工作流特征的商用系統的開發始于 1983 年至 1985 年間,早期的商用系統主要來自于圖像處理領域和電子郵件領域。圖像處理許多時候需要流轉和跟蹤圖像,工作流恰好迎合這種需求;增強的電子郵件系統也采用了工作流的思想,把原來點對點的郵件流轉改進為依照某種流程來流轉。在這些早期的工作流系統中只有少數獲得了成功。
進入 1990 年代以后,相關的技術條件逐漸成熟,工作流系統的開發與研究進入了一個新的熱潮。據調查,截至 1995 年共有 200多種軟件聲稱支持工作流管理或者擁有工作流特征。工作流技術被應用于電訊業、軟件工程、制造業、金融業、銀行業、科學試驗、衛生保健領域、航運業和辦公自動化領域。
2. 工作流概念
2.1 工作流概念
工作流是針對工作中具有固定程序的常規活動而提出的一個概念。通過將工作活動分解成定義良好的任務、角色、規則和過程來進行執行和監控,達到提高生產組織水平和工作效率的目的。工作流技術為企業更好地實現經營目標提供了先進的手段。工作流管理系統( workflow management systems , WFMS )是以規格化的流程描述作為輸入的軟件組件,它維護流程的運行狀態,并在人和應用之間分派活動。在此,我們先定義一些基本的術語:流程定義( process definition )和流程實例( process instance )。一個流程定義是一個業務流程或過程的規格化描述。一個流程實例是流程定義的一個運行實體。工作流管理系統還處于技術發展曲線上的初級階段。目前,工作流中使用了過多的概念。在這個領域中的大量規范和工具沒有一個是相似的,他們之間主要的分歧在于如何闡述流程中的步驟。
在介紹工作流時有一個話題必須包括,那就是工作流和業務流程管理( BPM )的關系。術語 “ 工作流 ” 通常描述人與計算機系統的一系列相關交互。在開發人員中,工作流經常被提及。有時,工作流的意思是指一些不同的 UI 界面。業務流程管理的范圍比較廣,相比之下工作流多半局限于技術領域。業務流程管理還從管理人員的角度涉及了非技術問題,比如分析、組織的效率。
2.2 工作流管理系統概念
工作流管理系統是以規格化的流程描述作為輸入的軟件組件,它維護流程的運行狀態,并在人和應用之間分派活動,推進工作流實例的執行,并監控工作流的運行狀態。
工 作流管理系統可以描述不同覆蓋范圍和不同時間跨度的經營過程,根據經營過程以及組成活動的復雜程度,工作流管理系統可以采取多種實施方式,在不同實施方式 中,所應用的信息技術、通信技術和支撐系統結構會有很大的差別,工作流管理系統的實際運行環境也可以在一個工作組內部,也可以在全企業所有業務部門。
工 作流管理系統在實際系統中的應用一般分為三個階段:即模型建立階段、模型實例化階段和模型執行階段。在模型建立階段,通過利用工作流建模工具,完成企業經 營過程模型的建立,將企業的實際經營過程轉化為計算機可處理的工作流模型。模型實例化階段完成為每個過程設定運行所需的參數,并分配每個活動執行所需要的 資源,模型執行階段完成經營過程的執行,在這一過程中,重要的任務是完成人機交互和應用的執行。
3. 工作流應用目標領域
使用工作流管理系統的目的之一是作為企業應用系統集成( EAI )的平臺。在當前大部分企業級 IT 架 構中,各種各樣的異構應用和數據庫運行在企業內網中。在這些系統被應用到組織時,都有一個清晰的目標。例如,客戶管理、文檔管理、供應鏈、訂單、支付、資 源計劃等等。讓我們稱這些系統為專門應用。每一個專門應用都包含它們所支持業務流程的領域知識。這些專門應用中的自動化流程,被拼裝到企業中更大的非自動 化流程中。每當一個這樣的專門應用安裝并投入使用,都會帶來涉及其他多個應用的新功能需求。企業應用系統集成( EAI ) 就是通過使用多個專門應用滿足軟件新需求的方法。有時,這只需要在兩個應用之間提供數據通訊的通道。專門應用將很多業務流程硬編碼在軟件中?梢赃@么說, 在你購買專門應用時,你是購買了一組固定的自動化業務流程。而工作流管理系統是不必事先知道問題域的相關信息的。工作流管理系統將業務流程描述作為輸入并 管理流程實例的執行,這使得它比專門應用更靈活(當然你也要花精力編寫業務流程的規格化描述)。這就是為什么說工作流管理系統和專門系統是相互補充的。工 作流管理系統可以用來管理全局的業務流程。如果專門應用支持你所需要的業務流程,那么使用專門應用。在此討論的工作流管理系統的第一種使用方式就是:結合 所有的專門應用,使用工作流管理系統構建一個 EAI 平臺。
工作流管理系統能夠發揮很大價值的第二個使用方式是:協助涉及多人相關任務工作流軟件的開發。為了達到這個目的,大部分工作流管理系統都有一個方便的機制,來生成執行任務的表單。對于專注于 ISO 或者 CMM 認證的組織,采用這種方式使用工作流管理系統能夠顯著提高生產率。不用將過程用文字的形式寫在紙上,工作流管理系統使你通過流程定義建模實現過程的自動化(如使用基于Web 的應用)。
工 作流管理系統的第三種使用方式是:將工作流引擎嵌入到其他應用中。在前面我們談到,專門應用將指定問題域相關的業務流程固化在軟件中。開發專門應用的公司 也可以將工作流引擎嵌入到他們的軟件中。在這里,工作流引擎只是作為一個軟件組件,對于應用的最終用戶是不可見的。將工作流引擎嵌入到應用中的主要原因是 為了重用(不重復發明輪子)和應用軟件的可維護性。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/