資源描述:
《設(shè)計論文-輕量級工作流引擎的設(shè)計與實現(xiàn)(1)學(xué)位論文.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、窗體頂端第一章引言1.1輕量級工作流引擎的概念輕量級的工作流引擎指的是從夠用、靈活和低成本的設(shè)計原則出發(fā),不追求工作流引擎的功能的完備和復(fù)雜,只是實現(xiàn)其中必不可少的功能和特征。在設(shè)計工作流引擎時主要考慮對其數(shù)據(jù)模型的定義和解釋、活動之間的協(xié)調(diào)以及任務(wù)的分配和控制等功能提供支持,而不支持諸如提供內(nèi)建(built-in)的應(yīng)用開發(fā)工具、對應(yīng)用資料的定義和完整性維護、完善的異常處理以及長事務(wù)控制等功能。輕量級工作流引擎的概念的提出,給開發(fā)工作流管理系統(tǒng)的開發(fā)人員開辟了一條新的道路。工作流管理技術(shù)本身就是一項抽象復(fù)雜的技術(shù),它致力追求從企事業(yè)各種各樣的業(yè)務(wù)中抽取出一個通用的
2、模型,由這個模型去描述所有業(yè)務(wù)的一致性,以達(dá)到“放之四海皆可用”的程度。不過,要把眾多的而又錯綜復(fù)雜的業(yè)務(wù)都集中在這個模型中,這是一件非常困難的工作,要經(jīng)過一段漫長的摸索歷程。而輕量級的概念讓我們認(rèn)識到可以從一般性的而又簡單的業(yè)務(wù)入手,為企事業(yè)快速的開發(fā)出一個適應(yīng)他們本身業(yè)務(wù)需求的而又帶有可擴展性可移植性的信息管理系統(tǒng),為他們提高工作效率,并保證在一段很長的時間內(nèi)滿足不斷增加的業(yè)務(wù)需求。1.2工作流管理系統(tǒng)的分類及本文的側(cè)重點根據(jù)工作流過程本身的特點、系統(tǒng)建模的方式、所使用的底層支撐技術(shù)、以及工作流過程的執(zhí)行方式等的不同而對工作流管理系統(tǒng)進行相應(yīng)的分類。1.2.1面
3、向文檔的與面向過程的前者的側(cè)著點在于將電子形式的文件、圖像等在有關(guān)的人員之間進行分發(fā),以便能夠得到不同人的處理與審閱?,F(xiàn)有的文件管理與映像管理系統(tǒng)均屬此類。在面向過程的WFMS中,工作流被描述成一序列執(zhí)行環(huán)節(jié)。與各環(huán)節(jié)相應(yīng)都有待處理的資料對象。各環(huán)節(jié)的資料對象可以按不同的方式分發(fā)到其它環(huán)節(jié)中去,如可以將資料對象的值作為控制條件、或者依此資料對象組裝成其它的資料對象等。高端的WFMS一般都屬此類系統(tǒng)。1.2.2結(jié)構(gòu)化的與即席的結(jié)構(gòu)化工作流指的是在實際工作過程中會反復(fù)重復(fù)、嚴(yán)格按照某個固定的步驟進行的業(yè)務(wù)過程。定義此種工作流所需要的各種類型的信息可以通過對業(yè)務(wù)過程進行詳
4、細(xì)的分析而得到,從而得到完整的過程定義并在以后的應(yīng)用過程中反復(fù)使用。大量的辦公程序,如公文處理、審批等都屬此類。即席工作流則是針對那些重復(fù)性不是很強或沒有重復(fù)性的工作流程的,關(guān)于這類流程執(zhí)行所需的有關(guān)參數(shù)(如參加者等)事先無法確定,而必須推遲到過程實例運行時才能確定,同時在執(zhí)行過程中間還可能會發(fā)生一些意外的情況。這種動態(tài)多變的特點在提供更高靈活性的同時,也為過程的建模與執(zhí)行帶來更多的復(fù)雜性。1.2.3基于郵件和基于數(shù)據(jù)庫前者使用電子郵件來完成過程實例執(zhí)行過程中消息的傳遞、資料的分發(fā)與事件的通知。低端的系統(tǒng)所使用的經(jīng)常就是此種方法,它可以充分發(fā)揮電子郵件系統(tǒng)在廣域環(huán)境
5、下的資料分發(fā)功能,但整個系統(tǒng)將運行于一種松散耦合的模式下。在基于數(shù)據(jù)庫的WFMS中,所有的資料都保存在某種類型的DBMS中,過程的執(zhí)行實際上就是對這些資料的查詢與處理。高端的大規(guī)模系統(tǒng)所使用的一般都是此種方法。1.2.4任務(wù)推動的與目標(biāo)拉動的前者指的是從過程的開始逐步地一個環(huán)節(jié)一個環(huán)節(jié)的執(zhí)行,當(dāng)某個活動實例被處理完之后,后續(xù)的有關(guān)活動將被創(chuàng)建并被激活,由此直至整個工作流程的完成。這是目前大多數(shù)面向過程的WFMS所使用的執(zhí)行方式。而在目標(biāo)拉動的WFMS中,一個業(yè)務(wù)流程被看成是一個目標(biāo)。過程實例執(zhí)行時,該目標(biāo)將被分解得到多個相互之間按一定約束條件的關(guān)聯(lián)起來的可執(zhí)行的多個
6、環(huán)節(jié),其中各環(huán)節(jié)還可以當(dāng)成是子目標(biāo)而進一步進行分解。在各環(huán)節(jié)均執(zhí)行完畢之后,整個過程也就完成了。目標(biāo)拉動是一種全新的執(zhí)行方式,下一代的WFMS將具有此種特征。應(yīng)該說明的是:上述分類只是從不同的角度入手的。一般來說,后面那些特點將給WFMS帶來更好的靈活性,同時也將成為那些能夠支持跨機構(gòu)的大規(guī)模復(fù)雜工作流管理、面向關(guān)鍵任務(wù)的WFMS不可缺少的特征。1.2.5本文的側(cè)重點本文的側(cè)重點不在于完全實現(xiàn)其中一種工作流管理系統(tǒng)的所有功能,更不在于實現(xiàn)所有種類的工作流管理系統(tǒng)的全部功能,前文已經(jīng)說過,這是一件非常困難的事情。那么我們的側(cè)重點在哪里呢?就在于綜合以上四種工作流管理系
7、統(tǒng)的主要特點,是一個面向文件的,基于數(shù)據(jù)庫的,由目標(biāo)拉動的結(jié)構(gòu)化的工作流管理系統(tǒng),并且由此去設(shè)計和實現(xiàn)工作流管理系統(tǒng)的核心――工作流引擎。從一般性來說,目前大多數(shù)的企事業(yè)的業(yè)務(wù)都是事務(wù)申請,公文流轉(zhuǎn),各項通知等等,這些業(yè)務(wù)或者需要查看,或者需要審批,而這些業(yè)務(wù)的資料基本上是以文件的形式保存在計算機上,而其中一些格式化的資料是保存在數(shù)據(jù)庫中,所以面向文件和面向數(shù)據(jù)庫是輕量級工作流引擎的一個重要特征。業(yè)務(wù)的發(fā)起和結(jié)束是一項過程化的任務(wù),任務(wù)又可以分解成一個一個環(huán)節(jié)任務(wù),而任務(wù)是帶有目的性的,由這個目的去拉動這個過程中的一個一個的環(huán)節(jié)任務(wù),促使環(huán)節(jié)任務(wù)的推進,最終達(dá)到