工作流技術(shù)的發(fā)展歷史
工作流技術(shù)發(fā)端于1970年代中期辦公自動化領(lǐng)域的研究工作,但工作流思想的出現(xiàn)還應(yīng)該更早,1968年Fritz Nordsieck就已經(jīng)清楚地表達了利用信息技術(shù)實現(xiàn)工作流程自動化的想法。1970年代與工作流有關(guān)的研究工作包括:賓夕法尼亞大學(xué)沃頓學(xué)院的比爾蓋茨開發(fā)的原型系統(tǒng)SCOOP,施樂帕洛阿爾托研究中心的Clarence A. Ellis和Gary J. Nutt等人開發(fā)的OfficeTalk系列試驗系統(tǒng),還有Anatol Holt和Paul Cashman開發(fā)的ARPANET上的監(jiān)控軟件故障報告程序。SCOOP, Officetalk和Anatol Holt開發(fā)的系統(tǒng)都采用Petri網(wǎng)的某種變體進行流程建模。其中SCOOP和Officetalk系統(tǒng),不但標志著工作流技術(shù)的開始,而且也是最早的辦公自動化系統(tǒng)。
1970年代人們對工作流技術(shù)充滿著強烈樂觀情緒,研究者普遍相信新技術(shù)可以帶來辦公效率的巨大改善,然而這種期望最終還是落空了。人們觀察到這樣一種現(xiàn)象,一個成功的組織往往會在適當?shù)臅r候創(chuàng)造性的打破標準的辦公流程;而工作流技術(shù)的引入使得人們只能死板的遵守固定的流程,最終導(dǎo)致辦公效率低和人們對技術(shù)的反感。1970年代工作流技術(shù)失敗的技術(shù)原因則包括:在辦公室使用個人計算機尚未被社會接受,網(wǎng)絡(luò)技術(shù)還不普遍,開發(fā)者還不了解群件技術(shù)的需求與缺陷。
含有工作流特征的商用系統(tǒng)的開發(fā)始于1983年至1985年間,早期的商用系統(tǒng)主要來自于圖像處理領(lǐng)域和電子郵件領(lǐng)域。圖像處理許多時候需要流轉(zhuǎn)和跟蹤圖像,工作流恰好迎合這種需求;增強的電子郵件系統(tǒng)也采用了工作流的思想,把原來點對點的郵件流轉(zhuǎn)改進為依照某種流程來流轉(zhuǎn)。在這些早期的工作流系統(tǒng)中只有少數(shù)獲得了成功。
進入1990年代以后,相關(guān)的技術(shù)條件逐漸成熟,工作流系統(tǒng)的開發(fā)與研究進入了一個新的熱潮。據(jù)調(diào)查,截至1995年共有200多種軟件聲稱支持工作流管理或者擁有工作流特征。工作流技術(shù)被應(yīng)用于電訊業(yè)、軟件工程、制造業(yè)、金融業(yè)、銀行業(yè)、科學(xué)試驗、衛(wèi)生保健領(lǐng)域、航運業(yè)和辦公自動化領(lǐng)域。1993年8月,工作流技術(shù)標準化的工業(yè)組織-工作流管理聯(lián)盟(WfMC)成立。1994年,工作流管理聯(lián)盟發(fā)布了用于工作流管理系統(tǒng)之間互操作的工作流參考模型,并相繼制定了一系列工業(yè)標準。
關(guān)于工作流技術(shù)的學(xué)術(shù)研究也十分活躍,許多原型系統(tǒng)在實驗室里開發(fā)出來,人們從工作流模型、體系結(jié)構(gòu)、事務(wù)、適應(yīng)性、異常、安全、語言、形式化、正確性驗證、資源管理、開發(fā)過程等各方面對工作流技術(shù)進行探討,大量論文被撰寫出來。
工作流的定義
工作流(Workflow),是對工作流程及其各操作步驟之間業(yè)務(wù)規(guī)則的抽象、概括、描述。工作流建模,即將工作流程中的工作如何前后組織在一起的邏輯和規(guī)則在計算機中以恰當?shù)哪P瓦M行表示并對其實施計算。工作流要解決的主要問題是:為實現(xiàn)某個業(yè)務(wù)目標,在多個參與者之間,利用計算機,按某種預(yù)定規(guī)則自動傳遞文檔、信息或者任務(wù)。
工作流管理聯(lián)盟(WfMC)給出的工作流定義是:工作流是一類能夠完全或者部分自動執(zhí)行的經(jīng)營過程,它根據(jù)一系列過程規(guī)則、文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間進行傳遞與執(zhí)行。工作流是指整個或部分經(jīng)營過程在計算機支持下的全自動或半自動化。在實際情況中可以更廣泛地把凡是由計算機軟件系統(tǒng)(工作流管理系統(tǒng))控制其執(zhí)行的過程都稱為工作流。
一個工作流包括一組活動及它們的相互順序關(guān)系,還包括過程及活動的啟動和終止條件,以及對每個活動的描述。
工作流管理系統(tǒng)指運行在一個或多個工作流引擎上用于定義、實現(xiàn)和管理工作流運行的一套軟件系統(tǒng),它與工作流執(zhí)行者(人、應(yīng)用)交互,推進工作流實例的執(zhí)行,并監(jiān)控工作流的運行狀態(tài)。