




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
..目錄摘要2前言41、緒論41.1研究目的和意義41.2課題研究現(xiàn)狀51.3主要研究工作61.4本文的組織安排62、工作流技術(shù)概述72.1工作流的相關(guān)概念72.2工作流技術(shù)的開展與產(chǎn)品82.3工作流管理系統(tǒng)92.3.1工作流管理系統(tǒng)的功能92.3.2工作流管理系統(tǒng)的體系構(gòu)造102.4工作流參考模型142.5小結(jié)153輕量級(jí)工作流管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)153.1輕量級(jí)工作流管理系統(tǒng)概念153.1.1傳統(tǒng)工作流管理系統(tǒng)153.1.2輕量級(jí)工作流管理系統(tǒng)153.2系統(tǒng)概述153.2.1匿名用戶角色163.2.2職員角色局部163.2.3管理員角色功能局部163.3系統(tǒng)預(yù)覽163.4系統(tǒng)特點(diǎn)183.5系統(tǒng)需求分析183.5.1可登陸用戶的根本功能183.5.2公司職員具有的功能183.5.3系統(tǒng)管理員具有的功能193.6系統(tǒng)根本框架193.6.1功能上劃分193.6.2角色上劃分193.6數(shù)據(jù)庫的設(shè)計(jì)223.6.1數(shù)據(jù)庫需求分析223.6.2數(shù)據(jù)庫概念構(gòu)造設(shè)計(jì)223.6.3數(shù)據(jù)庫邏輯構(gòu)造設(shè)計(jì)273.7模型〔Model〕層的設(shè)計(jì)(局部)283.7.1用戶模型類〔T_User.cs〕283.7.2工作流模型類〔T_workflow.cs〕313.8業(yè)務(wù)邏輯層設(shè)計(jì)〔局部類〕323.8.1數(shù)據(jù)庫幫助類〔SQLHelper.cs〕〔局部〕323.8.2用戶操作類〔T_User.cs〕403.9界面層的設(shè)計(jì)〔局部〕443.9.1配置web.config文件443.9.2用戶登陸453.9.3工作流管理484、完畢語49致50參考文獻(xiàn)50通用的輕量級(jí)工作流系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)學(xué)生:梅小虎指導(dǎo)教師:彬橋〔三峽大學(xué)電氣信息學(xué)院〕摘要:工作流管理系統(tǒng)是近年來在計(jì)算機(jī)應(yīng)用領(lǐng)域開展最為迅速的技術(shù)之一。工作流術(shù)的主要特點(diǎn)是過程的自動(dòng)化處理,這些過程包含以人和以機(jī)器為根底的活動(dòng)的結(jié)合,特別是對(duì)那些與IT應(yīng)用程序、工具交互的過程進(jìn)展自動(dòng)化處理。工作流技術(shù)的引入,使應(yīng)用系統(tǒng)的流程邏輯與業(yè)務(wù)邏輯耦合度降低,從而降低了復(fù)雜流程應(yīng)用的開發(fā)難度,提高了應(yīng)用系統(tǒng)的開發(fā)效率和可維護(hù)性。傳統(tǒng)工作流管理系統(tǒng)的設(shè)計(jì)從提供功能齊全的工作流效勞角度出發(fā),不可防止地導(dǎo)致了系統(tǒng)架構(gòu)極為龐大,系統(tǒng)的復(fù)雜性也隨著增大。同時(shí)傳統(tǒng)的工作流管理系統(tǒng)提供的功能是以集成的方式實(shí)現(xiàn),從數(shù)據(jù)存儲(chǔ)到運(yùn)行環(huán)境往往都有自己的一整套獨(dú)特的體系構(gòu)造,因而想從中別離出某個(gè)功能,將會(huì)是一件非常困難的事情。由于這些問題的存在,使得傳統(tǒng)的工作流管理系統(tǒng)不能快速地根據(jù)具體的應(yīng)用需求定制,靈活地集成到應(yīng)用系統(tǒng)。為了克制當(dāng)前工作流在應(yīng)用中的缺乏,本文結(jié)合具體的應(yīng)用需求,提出了一個(gè)輕量級(jí)工作流管理系統(tǒng)的框架構(gòu)造。輕量級(jí)工作流架構(gòu)的核心局部,由幾個(gè)組件提供工作流的根本功能。在對(duì)輕量級(jí)工作流管理系統(tǒng)進(jìn)展設(shè)計(jì)時(shí),本文把它從體系構(gòu)造上劃分為三個(gè)層展現(xiàn)層,業(yè)務(wù)邏輯層,數(shù)據(jù)層,然后,對(duì)工作流系統(tǒng)的設(shè)計(jì)進(jìn)展詳細(xì)介紹。具體研究容如下:1.對(duì)工作流技術(shù)的研究現(xiàn)狀和理論進(jìn)展調(diào)查和研究,并對(duì)主流的開源工作流管理系統(tǒng)進(jìn)展深入的分析和比照。2.在工作流理論的根底上,從夠用、靈活和低本錢的設(shè)計(jì)原那么出發(fā),對(duì)輕量級(jí)工作流管理系統(tǒng)進(jìn)展了研究,并對(duì)其設(shè)計(jì)方案和實(shí)現(xiàn)技術(shù)進(jìn)展了詳細(xì)闡述。關(guān)鍵詞:工作流、工作流建模、輕量級(jí)工作流管理系統(tǒng)Abstract:Workflowmanagementsystemisoneofthemostrapidlydevelopedtehnologyintputerarearecently.Itsprimarycharactericticisautomationofprocesses,Whichinvolvingbinationsofsomeactivitiesprocesses.Workflowtechnology’sintroductionlowersthecouplingbetweenprocesslogicandbusinesslogicoftheapplicationsystem,thenreducingplexityoftheapplicationdevelopmentprocess,raisingtheapplicationsystemdevelopmentefficiencyandmaintainability. Thepurposedesignoftraditionalworkflowarchitecturesaimsatprovidingfullfledgedsupportforthewidestpossibleapplicationspectrum.Consequently,mostworkflowmanagementsystem,bothproductsandresearchprototypes,areheavyweight,monolithic,andpackageaprehensivesetoffeaturesinanall-or-nothingmanner.Additionally,currentworkflowsystemsarehardtointegratewithotherenvironments. Thesolutiontothepreviousproblesintroducedhereisalightweightworkflowarchitecturethatenablessoftwaredeveloperstopickandchoosetheworkflowfeaturesthetyneed.Atthecoreofthearchitecture,severalponentsprovidebasicworkflowfunctionality.Inthepaper,firstly,theworkflowmanagementsystemisdividedintothreelayers,namelyview、businesslogicanddataaccess.Then,giveanelaborationonworkflowengineandprocessdefinitiontools.Detailsasfollows:1.Makeinvestigationsandresearchesonactualitiesofworkflowtechnology,aswellasgivedeeplyanalysisandparisonsonmainstreamopensourceworkflowmanagementsystem.2.Basedonworkflowtheory,andbasedondesignprincipleofsufficient,flexibleandlow-cost,wemakeresearchesonthelightweightworkflowmanagementsystem,aswellaselaborateonitsdesignandimplementationtechniques.Weputemphasizeonthecoremodulesinworkflowenginesuchasworkflowprocesstemplatemanagement,workflowinstancemanagement,thelistofwork-itemmanagement,transferservices,timeconstraintsservices,andsoon.Also,wediscussdesignandimplementationofprocessdefinitiontools.
Keyword:Workflow,workflowmodeling,LightweightWorkflowManagementSystem前言工作流技術(shù)起源于二十世紀(jì)七十年代中期辦公自動(dòng)化領(lǐng)域的研究,由于當(dāng)時(shí)計(jì)算機(jī)尚未普及,網(wǎng)絡(luò)技術(shù)水平還很低以及理論根底匱乏,這項(xiàng)新技術(shù)并未取得成功。1983年至1985年間,在圖像處理領(lǐng)域和電子領(lǐng)域出現(xiàn)了早期的含有工作流特征的商用系統(tǒng)。進(jìn)入九十年代以后,隨著個(gè)人計(jì)算機(jī)、網(wǎng)絡(luò)技術(shù)的普及和推廣,以及信息化建立的日益完善,使得工作流技術(shù)的研究與開發(fā)進(jìn)入了一個(gè)新的熱潮。1993年8月,第一個(gè)工作流技術(shù)標(biāo)準(zhǔn)化的工業(yè)組織——工作流管理聯(lián)盟〔WorkflowManagementCoalition,簡稱WFMC,下同〕成立。1994年,工作流管理聯(lián)盟發(fā)布了用于工作流管理系統(tǒng)之間互操作的工作流參考模型,并相繼制定了一系列工業(yè)標(biāo)準(zhǔn)。與此同時(shí),關(guān)于工作流技術(shù)的學(xué)術(shù)研究也十分活潑,許多原型系統(tǒng)在實(shí)驗(yàn)室里開發(fā)出來。自20世紀(jì)90年代中期至今,互聯(lián)網(wǎng)技術(shù)在我國迅速開展和普及,引出了Intranet、Extranet、Internet、政府上網(wǎng)工程、企業(yè)上網(wǎng)工程、電子政府、電子商務(wù)、電子管理、政府部網(wǎng)、企業(yè)網(wǎng)、數(shù)字神經(jīng)系統(tǒng)和數(shù)字化辦公等一系列新概念,這些新概念的提出背后都或多或少的存在著工作流的思想,只不過有些概念表達(dá)的工作流思想少些,而有些概念的核心思想就是工作流的思想,如辦公自動(dòng)化等。隨著企業(yè)信息化步伐的加快,工作流的思想已經(jīng)越來越多地進(jìn)入了企業(yè)應(yīng)用系統(tǒng)領(lǐng)域。現(xiàn)代化企業(yè)為了增強(qiáng)工作效率、縮短信息傳播周期、固化業(yè)務(wù)模式、增加核心競爭力,已經(jīng)將企業(yè)經(jīng)營過程的各個(gè)領(lǐng)域各個(gè)環(huán)節(jié)均納入了企業(yè)信息化的局部。眾多的企業(yè)應(yīng)用系統(tǒng)按照功能從大的圍來劃分,無非兩種,一種是以公文流轉(zhuǎn)、日常辦公為主體的辦公自動(dòng)化系統(tǒng),另一種那么是以企業(yè)經(jīng)營過程的業(yè)務(wù)流程為主要輔助對(duì)象的具體業(yè)務(wù)系統(tǒng)。無論是辦公自動(dòng)化系統(tǒng)還是具體業(yè)務(wù)系統(tǒng),都是為企業(yè)提供軟件效勞的,都是本著效勞于企業(yè)需求為目標(biāo)的,然而,現(xiàn)實(shí)世界中的各個(gè)企業(yè)的經(jīng)營過程是無時(shí)無刻不在變化和調(diào)整中的,以便適應(yīng)瞬息萬變的市場。這種變更帶給信息化系統(tǒng)軟件的最大的問題在于企業(yè)經(jīng)營過程的調(diào)整往往使得原有的信息化系統(tǒng)軟件要推倒重新設(shè)計(jì)開發(fā),使開發(fā)本錢非常的高,尋找到一種能夠相對(duì)靈活的架構(gòu)和管理方式以使得信息化系統(tǒng)能夠快速的適應(yīng)企業(yè)經(jīng)營過程的變更成為了為企業(yè)構(gòu)造信息化系統(tǒng)的軟件設(shè)計(jì)人員的頭等課題。工作流及工作流管理系統(tǒng)之所以能為企業(yè)信息化系統(tǒng)所使用究其原因也在于此。雖然工作流技術(shù)已經(jīng)開場在企業(yè)應(yīng)用中擁有了一片天空,然而,同已經(jīng)應(yīng)用于企業(yè)的其他技術(shù)相比,工作流技術(shù)仍然處于其技術(shù)開展的初期。進(jìn)入二十一世紀(jì)以來,工作流技術(shù)已被越來越多的人認(rèn)可,與之相關(guān)的標(biāo)準(zhǔn)規(guī)、工作流引擎及商業(yè)產(chǎn)品不勝枚舉。人們在開發(fā)推廣工作流產(chǎn)品的同時(shí),更加注重工作流的理論研究,以推動(dòng)該項(xiàng)技術(shù)走向成熟。1、緒論1.1研究目的和意義工作流〔Workflow〕是一類能夠完全或者局部自動(dòng)執(zhí)行的經(jīng)營流程〔BusinessProcess〕,根據(jù)一系列流程規(guī)那么,文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間傳遞、執(zhí)行。工作流管理系統(tǒng)是定義、執(zhí)行并監(jiān)控工作流的軟件管理系統(tǒng)。工作流管理系統(tǒng)使商業(yè)流程以合理有效的方式實(shí)施,保證正確的信息在正確的時(shí)間到達(dá)正確的信息處理者,它更加有效的融入商業(yè)流程管理,將人們從繁雜的工作中解脫出來,提高商業(yè)流程管理的正確性、高效性和工廠、企業(yè)的生產(chǎn)效率。近年來,越來越多的研究機(jī)構(gòu)和企業(yè)致力于工作流管理系統(tǒng)的研究。從現(xiàn)有的工作流產(chǎn)品來看,許多工作流產(chǎn)品都在不同程度上提供了對(duì)外部工具的集成功能,局部產(chǎn)品還提供了基于表單的應(yīng)用邏輯的定制和開發(fā)環(huán)境。但是,外部工具的多樣性和復(fù)雜性決定了對(duì)外部工具的集成難以做到無縫;而工作流產(chǎn)品建的開發(fā)工具除了與流行的開發(fā)工具不兼容外,其開發(fā)功能往往都比擬簡單。因此,對(duì)于簡單的應(yīng)用(例如公文流轉(zhuǎn)、訂單的審批等),這些產(chǎn)品是適宜的。但是,如果是開發(fā)關(guān)鍵業(yè)務(wù)的應(yīng)用系統(tǒng)(特別是行業(yè)應(yīng)用系統(tǒng)),現(xiàn)有工作流產(chǎn)品所能提供的開發(fā)功能是遠(yuǎn)遠(yuǎn)不夠的。本文在對(duì)工作流技術(shù)進(jìn)展深入的分析和研究的根底上,設(shè)計(jì)了輕量級(jí)工作流管理系統(tǒng)作為解決方案,它有別于傳統(tǒng)的工作流管理系統(tǒng),在設(shè)計(jì)上從夠用、靈活和低本錢的原那么出發(fā),不追求工作流管理系統(tǒng)功能的完備和復(fù)雜,只是實(shí)現(xiàn)其中必不可少的功能和特征;在使用上更加簡單。由于這些特點(diǎn),它將為使基于工作流技術(shù)的應(yīng)用開發(fā)更加易于開發(fā)人員承受,提高了開發(fā)效率和可維護(hù)性,開發(fā)本錢得到了降低。1.2課題研究現(xiàn)狀目前,在全球圍,對(duì)工作流技術(shù)的研究以及相關(guān)產(chǎn)品的開發(fā)進(jìn)入了一個(gè)繁榮階段,更多更新的技術(shù)被集成進(jìn)來,Internet效勞、數(shù)據(jù)庫、電子、移動(dòng)式計(jì)算、文件管理等都已被容納到工作流管理系統(tǒng)之中。隨著工作流這一集成框架下所容納技術(shù)的不斷拓展與成熟,工作流管理系統(tǒng)將成為企業(yè)信息環(huán)境中不可缺少的軟件平臺(tái),并將最終成為覆蓋于各類臺(tái)式機(jī)與網(wǎng)絡(luò)操作系統(tǒng)之上的業(yè)務(wù)操作系統(tǒng)BOS〔BusinessOperatingSystem〕,帶來業(yè)務(wù)操作系統(tǒng)的一次革命。經(jīng)歷了二三十年的開展,工作流產(chǎn)品根本上確定了它在計(jì)算機(jī)應(yīng)用軟件市場上的獨(dú)立位置,在工作流這一框架下,比擬根本的、主要的研究容包括以下幾個(gè)方面:〔1〕工作流管理系統(tǒng)體系構(gòu)造的研究;〔2〕工作流模型與工作流定義語言;〔3〕工作流的事務(wù)特性:研究目的在于將高級(jí)事務(wù)處理技術(shù)與工作流管理技術(shù)相結(jié)合,用良好定義的模型語義與恢復(fù)機(jī)制來更好地支持企業(yè)的經(jīng)營過程,提高工作流系統(tǒng)的可靠性與實(shí)用性;〔4〕工作流的實(shí)現(xiàn)技術(shù):包括面向?qū)ο蠹夹g(shù)、異構(gòu)分布式計(jì)算、圖形用戶界面、消息通信、數(shù)據(jù)庫、等在的與工作流管理系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)有關(guān)的各項(xiàng)技術(shù)、方法;〔5〕工作流的仿真與分析方法;〔6〕工作流的集成與互操作技術(shù):研究異構(gòu)應(yīng)用系統(tǒng)的集成以及不同工作流管理系統(tǒng)之間的互操作問題;〔7〕工作流與經(jīng)營過程重組:研究如何通過工作流管理系統(tǒng)的實(shí)施來有效地實(shí)現(xiàn)企業(yè)的經(jīng)營過程重組。盡管經(jīng)過工作流產(chǎn)品供給商與工作流技術(shù)研究人員多年的不懈努力,使得工作流技術(shù)由最初的萌芽逐步開展起來,并取得了相當(dāng)?shù)某晒?,但是從工作流管理系統(tǒng)的實(shí)際應(yīng)用狀況來看,還遠(yuǎn)未到達(dá)人們所期待的普及狀態(tài)。在經(jīng)營過程中采用工作流管理系統(tǒng)的企業(yè)仍只是一少局部,而且這些系統(tǒng)的應(yīng)用圍也很有限,并不能全方位地支持企業(yè)的關(guān)鍵業(yè)務(wù)流程。從企業(yè)用戶應(yīng)用的角度來分析,工作流產(chǎn)品亟需解決以下5個(gè)方面:(1)工作流的運(yùn)行必須要有底層的通信根底構(gòu)造的支持,但是就目前能夠?qū)崿F(xiàn)分布計(jì)算環(huán)境的產(chǎn)品來看,它們在實(shí)際應(yīng)用中仍然顯得不夠成熟,在平安性、容錯(cuò)性、可靠性等方面均不能滿足企業(yè)的需求,而且在價(jià)格上也給企業(yè)造成一定的負(fù)擔(dān)。(2)統(tǒng)一的標(biāo)準(zhǔn)。不同的廠商所提供的工作流產(chǎn)品可能具有自己獨(dú)立的一套工作流模型、工作流定義語言以及API函數(shù)。在這種缺乏標(biāo)準(zhǔn)的狀況下,用戶一旦選定一種產(chǎn)品之后,就很難再過渡到其他同類產(chǎn)品之上了。而且不同的系統(tǒng)之間缺乏互操作的接口。盡管工作流管理聯(lián)盟的成立有助于改善這種情況。但假設(shè)想實(shí)現(xiàn)類似于關(guān)系型數(shù)據(jù)庫這樣的統(tǒng)一標(biāo)準(zhǔn)〔比方關(guān)系數(shù)據(jù)模型、SQL語言等〕,仍有很長的路要走。(3)提高系統(tǒng)開發(fā)的效率。工作流應(yīng)用的開發(fā)不僅僅是過程的定義,還需要完成其他許多任務(wù)。比方,對(duì)外部的應(yīng)用系統(tǒng)進(jìn)展封裝、建立工作流運(yùn)行所必須的分布計(jì)算環(huán)境、設(shè)計(jì)開發(fā)相應(yīng)的用戶界面等等。目前的工作流產(chǎn)品,幾乎不能為這些任務(wù)提供什么有力的幫助,所有的工作流應(yīng)用都需要工作流產(chǎn)品供給商與應(yīng)用開發(fā)人員進(jìn)展很長時(shí)間的合作才能最終完成。另外,工作流管理系統(tǒng)的實(shí)施給企業(yè)帶來的不僅僅是技術(shù)上的變化,同時(shí)也會(huì)對(duì)企業(yè)原有的管理制度造成一定的影響,這也是對(duì)企業(yè)的一種沖擊。(4)工作流技術(shù)本身有待成熟。目前尚沒有一種工作流產(chǎn)品或原型系統(tǒng)能夠在過程執(zhí)行的可靠性與一致性方面到達(dá)與關(guān)系型數(shù)據(jù)庫管理系統(tǒng)同水平的功能。盡管在實(shí)際應(yīng)用時(shí)對(duì)工作流管理系統(tǒng)并沒有那樣高的性能要求,但具備這樣的能力對(duì)于一個(gè)工作流管理系統(tǒng)而言是很重要的,只有這樣,才能使企業(yè)有信心采用工作流技術(shù)來對(duì)那些應(yīng)用其他技術(shù)〔如數(shù)據(jù)庫〕實(shí)現(xiàn)的關(guān)鍵任務(wù)應(yīng)用進(jìn)展重組。(5)工作流仿真評(píng)價(jià)方面的研究還處于萌芽階段。應(yīng)該說,在缺乏仿真方法與仿真工具支持的情況下,整個(gè)工作流管理系統(tǒng)是不完善的。因?yàn)槿藗冸y以預(yù)料所部署的工作流過程將有可能出現(xiàn)怎樣的結(jié)果,它有哪些不合理的地方,其性能指標(biāo)如何,這一切都必須等到實(shí)際運(yùn)行以后才能由工作流管理系統(tǒng)所記錄的數(shù)據(jù)中獲得,顯然,這并非是一種合理的方式。針對(duì)工作流進(jìn)展仿真的難點(diǎn)主要在于:仿真的性能指標(biāo)不好確定;仿真的容較為復(fù)雜等。本課題的研究正是針對(duì)(2)(3)兩個(gè)亟需解決的方面而提出的,專注于構(gòu)建輕量級(jí)工作流管理系統(tǒng),而面向?qū)ο蠹夹g(shù)及設(shè)計(jì)模式的開展為本課題的研究提供了必要條件。1.3主要研究工作為了實(shí)現(xiàn)輕量級(jí)工作流管理系統(tǒng),本課題圍繞以下幾項(xiàng)主要工作展開研究:(1)工作流技術(shù)的根本概念的研究。具體的研究容包括:WfMC的工作流標(biāo)準(zhǔn),工作流參考模型,閱讀并分析了大量有關(guān)工作流技術(shù)的資料及學(xué)術(shù)論文,對(duì)工作流技術(shù)的概念、特點(diǎn)進(jìn)展詳細(xì)的討論和分析。(2)輕量級(jí)工作流系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。1.4本文的組織安排本文共分四局部,具體的容組織如下:第一局部:緒論。給出課題的研究研究目的和意義,提出論文的目標(biāo)與主要容。第二局部:工作流技術(shù)概述。介紹工作流起源開展和相關(guān)概念,并介紹工作流管理系統(tǒng)的體系機(jī)構(gòu)、參考模型、工作流引擎、過程定義工具等。第三局部:輕量級(jí)工作流管理系統(tǒng)的研究與實(shí)現(xiàn)。分析了輕量級(jí)工作流管理系統(tǒng)的總構(gòu)造。第四局部:論文總結(jié)??偨Y(jié)了本文工作所取得的成果,并對(duì)下一步工作提出了、展望。最后是參考文獻(xiàn)和致。2、工作流技術(shù)概述工作流技術(shù)通過信息技術(shù)的支持為企業(yè)的經(jīng)營過程提供了一個(gè)從模型分析、建立、管理、仿真到運(yùn)行的完整框架,是實(shí)現(xiàn)業(yè)務(wù)過程管理與控制的一項(xiàng)關(guān)鍵性技術(shù)。工作流技術(shù)的出現(xiàn)和迅速開展為企業(yè)戰(zhàn)略的實(shí)施提供了重要的技術(shù)支持。2.1工作流的相關(guān)概念業(yè)務(wù)流程〔BusinessProcess〕:一組用來實(shí)現(xiàn)一個(gè)商業(yè)或策略目標(biāo)聯(lián)的過程或行為,通常處于一個(gè)定義功能角色和關(guān)系的組織構(gòu)造中。在某企業(yè)或機(jī)構(gòu)中,它能夠?qū)崿F(xiàn)業(yè)務(wù)目標(biāo)和策略的相互連和活動(dòng)集,如公文處理流程、投保過程、銀行客戶的取款過程等工作流〔Workflow〕:工作流是面向特定應(yīng)用的業(yè)務(wù)流程的抽象務(wù)流程的整體地或局部地自動(dòng)化處理,文檔、信息或任務(wù)按照一動(dòng)從一個(gè)參與者傳遞給另一個(gè)參與者處理。工作流引擎〔WorkflowEngine〕:工作流引擎為一個(gè)工作流實(shí)例環(huán)境。它提供的效勞包括:過程模型的解釋、過程實(shí)例的控制〔活、暫停、終止等〕、在過程各活動(dòng)之間的游歷〔控制條件的計(jì)的傳遞等〕、參與者的參加與退出、生成工作項(xiàng)通知用戶進(jìn)展處流控制數(shù)據(jù)和工作流相關(guān)數(shù)據(jù)的維護(hù)、調(diào)用外部應(yīng)用和訪問工作據(jù)等。工作流管理系統(tǒng)〔WorkflowManagementSystem〕:運(yùn)行在一個(gè)或流引擎上,使用軟件來定義、創(chuàng)立和管理工作流執(zhí)行過程的系統(tǒng)過程的定義,能與工作流參與者互動(dòng),并且能在需要時(shí)調(diào)用IT用軟件。過程定義〔ProcessDefinition也稱過程建模〕:計(jì)算機(jī)所能識(shí)別的的形式化描述,用來支持運(yùn)行過程的自動(dòng)化。流程一般被分解成程和活動(dòng)以及它們之間的關(guān)系,其定義主要包括運(yùn)行過程中所涉種數(shù)據(jù)和參數(shù),如過程的開場和終止條件、各個(gè)工作環(huán)節(jié)〔活動(dòng)之間的控制流和數(shù)據(jù)流關(guān)系以及一些關(guān)于個(gè)體行為的信息,如組6與IT相關(guān)的應(yīng)用和數(shù)據(jù)等。工作流模型〔WorkflowModel〕:工作流模型是對(duì)工作流的抽象表是對(duì)經(jīng)營過程的抽象表示。工作流模型是使用工作流定義語言用域的業(yè)務(wù)過程形式化描述所得到的結(jié)果,它包含工作流執(zhí)行所息?;顒?dòng)〔Activity〕:活動(dòng)是工作流中一些邏輯步驟或環(huán)節(jié)的工作任分為手工操作和自動(dòng)處理兩類。活動(dòng)是流程執(zhí)行中的最小工作單有人員的參與或由計(jì)算機(jī)自動(dòng)完成。流程實(shí)例〔ProcessInstances〕:流程實(shí)例是實(shí)際運(yùn)行中的一個(gè)業(yè)每個(gè)實(shí)例代表一個(gè)能獨(dú)立控制執(zhí)行、具有部狀態(tài)的線程。在流行的業(yè)務(wù)流程中,WFMS將解釋相應(yīng)的過程定義,生產(chǎn)相關(guān)的活根據(jù)定義中的控制規(guī)那么協(xié)調(diào)這些活動(dòng)之間的順序關(guān)系,同時(shí)根據(jù)關(guān)系的定義完成活動(dòng)之間的數(shù)據(jù)傳送。從參與者的角度來說,實(shí)實(shí)際上是由參與者處理他所涉及的那些環(huán)節(jié)的數(shù)據(jù),完成該環(huán)節(jié)之后由WFMS根據(jù)相應(yīng)結(jié)果激活后續(xù)環(huán)節(jié),同時(shí)通知后續(xù)參與行處理,由此依次反復(fù)直至整個(gè)流程完成?;顒?dòng)實(shí)例〔ActivityInstances〕:活動(dòng)實(shí)例是過程實(shí)例中的一個(gè)邏環(huán)節(jié)。工作項(xiàng)〔Workitem〕:可被工作流參與者執(zhí)行的活動(dòng)實(shí)例的表示動(dòng)實(shí)例通常產(chǎn)生一個(gè)或幾個(gè)工作項(xiàng),工作項(xiàng)通過賦予相關(guān)參與者表而被參與者所感知。任務(wù)〔Task〕:活動(dòng)和工作項(xiàng)的統(tǒng)一表示,在工作流定義的上下文動(dòng),在工作流實(shí)例的上下文中表示工作項(xiàng)。路由〔Routing〕:工作流實(shí)例中任務(wù)間的關(guān)系,根本的路由關(guān)系〔Sequence〕、選擇〔Choice〕、派生〔Fork〕、合并〔Merg〔Synchronization〕等。組織〔Organization〕:任務(wù)執(zhí)行所需要的,一般指參與者,可以也可以是人。2.2工作流技術(shù)的開展與產(chǎn)品工作流技術(shù)的起源可以追溯到上個(gè)世紀(jì)80年代初期,一些公司、企業(yè)建立了自己專用的或者可商品化的表單傳遞應(yīng)用系統(tǒng)(Formsroutingapplications),通常運(yùn)行在大型機(jī)或小型機(jī)上,用于實(shí)現(xiàn)日常表單處理的電子化與自動(dòng)化。這種表單傳遞應(yīng)用系統(tǒng)解決了紙?jiān)谛畔⒌奶幚?、組織、存儲(chǔ)以及查詢檢索方面都是低效的。這種系統(tǒng)可以看成是現(xiàn)代工作流管理系統(tǒng)的一個(gè)雛型。80年代中期,F(xiàn)ileNet和ViewStar等公司率先把圖像掃描、復(fù)合文檔、構(gòu)造化路由(StructuredRouting)、實(shí)例跟蹤、關(guān)鍵字索引以及光盤存儲(chǔ)等功能結(jié)合在一起,形成了一種全過程支持某些業(yè)務(wù)流程的集成化的軟件〔包〕,這便是早期的工作流管理系統(tǒng)。這些公司就是開拓工作流產(chǎn)品市場的先驅(qū)者。這個(gè)時(shí)期比擬典型的工作流產(chǎn)品有FileNet于1984年推出的WorkFloBusinessSystem,ViewStar于1988年推出的ViewStar。這種集成化軟件系統(tǒng)為企業(yè)簡化與重組自己的關(guān)鍵業(yè)務(wù)流程提供了一種非常適宜的方案,但是限于當(dāng)時(shí)的計(jì)算機(jī)開展水平,它所集成的功能較為簡單而已。90年代,工作流技術(shù)的標(biāo)準(zhǔn)化組織工作流管理聯(lián)盟〔WorkflowManagementCoalition〕于1993年成立。它的成立標(biāo)志著工作流技術(shù)在計(jì)算機(jī)應(yīng)用研究領(lǐng)域之中被明確地劃分出了自己的一席之地,相應(yīng)的概念與術(shù)語也有了標(biāo)準(zhǔn)。在全球圍,對(duì)工作流的技術(shù)研究以及相關(guān)的產(chǎn)品開發(fā)進(jìn)入了更為繁榮的階段,更多、更新的技術(shù)被集成進(jìn)來,文件管理系統(tǒng)、數(shù)據(jù)庫、電子、移動(dòng)式計(jì)算、Internet效勞等都已被容納到工作流管理系統(tǒng)之中。同時(shí),隨著計(jì)算機(jī)的普及、網(wǎng)絡(luò)的延伸,現(xiàn)代企業(yè)的信息資源越來越表現(xiàn)出一種異構(gòu)、分布、松散耦合的特點(diǎn),企業(yè)的分散性、決策制定的分散性、對(duì)日常業(yè)務(wù)活動(dòng)詳盡信息的需求以及ClientServer體系構(gòu)造、分布式處理技術(shù)(CORBA,,OLE,JAVA)的日益成熟,都說明了這樣一個(gè)事實(shí):集中式信息處理的時(shí)代已經(jīng)過去,實(shí)現(xiàn)大規(guī)模的異構(gòu)分布式執(zhí)行環(huán)境,使得相互關(guān)聯(lián)的任務(wù)能夠高效運(yùn)轉(zhuǎn)并承受密切監(jiān)控已成為一種趨勢。在這種不可抗拒的技術(shù)背景下,工作流管理系統(tǒng)也由最初的創(chuàng)立無紙辦公環(huán)境轉(zhuǎn)而成為同化企業(yè)復(fù)雜信息環(huán)境、實(shí)現(xiàn)業(yè)務(wù)流程自動(dòng)執(zhí)行的必要工具。這樣的一個(gè)轉(zhuǎn)變,把工作流技術(shù)帶入了一個(gè)嶄新的開展階段,使得人們從更深的層次、更廣的領(lǐng)域上對(duì)工作流展開了研究。進(jìn)入21世紀(jì)的今天,工作流技術(shù)的應(yīng)用已經(jīng)普及,工作流技術(shù)的研究主要分為兩方面容:一是為工作流技術(shù)的開展解決理論上存在的問題,探討工作流模型和語義的形式化表示方法等;二是從工作流實(shí)現(xiàn)技術(shù)的角度探討利用先進(jìn)的技術(shù)提高工作流管理系統(tǒng)的性能和可靠性。工作流技術(shù)的研究方向主要集中在以下幾個(gè)方面:〔1〕分布式系統(tǒng);〔2〕構(gòu)件化設(shè)計(jì),主要為了增強(qiáng)系統(tǒng)的擴(kuò)展性;〔3〕基于事件的工作流管理系統(tǒng);〔4〕基于Web的工作流系統(tǒng),這種B/S構(gòu)造系統(tǒng)逐漸成為當(dāng)前的主流;〔5〕支持動(dòng)態(tài)建模的工作流系統(tǒng);〔6〕異常的處理和錯(cuò)誤恢復(fù)問題;〔7〕融入事務(wù)管理概念;〔8〕支持各種平臺(tái),如移動(dòng)嵌入式系統(tǒng)平臺(tái);〔9〕支持離線操作;〔10〕支持定制界面。近年來,工作流產(chǎn)品的市場逐年增長,市場上已經(jīng)有許多商家的各種工作流產(chǎn)品,根據(jù)不同工作流系統(tǒng)所采用的任務(wù)項(xiàng)傳遞機(jī)制的不同可以把當(dāng)前的工作流產(chǎn)品分為以下四類:(1)基于文件的工作流系統(tǒng)——以共享文件的方式來完成任務(wù)。這種類型的產(chǎn)品是產(chǎn)生最早、開展最成熟、最具多樣性的,通常包含有ClientServer模式的圖像、文檔與數(shù)據(jù)庫管理系統(tǒng).代表產(chǎn)品有FileNet的VisualWorkFlo,IBM的FlowMark,InConcert的InConcert。(2)基于消息的工作流系統(tǒng)——通過用戶的電子系統(tǒng)來傳遞文檔信息。這種類型的產(chǎn)品都已實(shí)現(xiàn)了與一種或多種電子系統(tǒng)的集成。代表產(chǎn)品有Novell與FileNet合作開發(fā)的Ensemble、JetForm的InTempo,Keyfile的Keyflow。(3)基于Web的工作流系統(tǒng)——通過來實(shí)現(xiàn)任務(wù)的協(xié)作。這一類產(chǎn)品起步較晚〔在1995年以后〕,但是開展迅速,已成為一種最新的市場流行趨勢。許多供給商紛紛開發(fā)新產(chǎn)品或者在原有產(chǎn)品的根底上增加對(duì)Web的支持。代表產(chǎn)品有ActionTechnologies的ActionWorksMetro,Ultimus的Ultimus。(4)群件與套件系統(tǒng)——依據(jù)劃分標(biāo)準(zhǔn),這一類產(chǎn)品與前面3種有很大程度的重疊,但是在這里卻有必要把它們單獨(dú)劃分成一類,因?yàn)檫@類產(chǎn)品都需要依賴自己系統(tǒng)的應(yīng)用根底構(gòu)造,包括消息傳遞、目錄效勞、平安管理、數(shù)據(jù)庫與文檔管理效勞等,它們本身就構(gòu)成了一個(gè)完整的應(yīng)用開發(fā)環(huán)境。代表產(chǎn)品有IBMLotus的LotusNotes,Microsoft的Office與Exchange,Novell的GroupWise。2.3工作流管理系統(tǒng)工作流管理系統(tǒng)〔WfMS,WorkflowManagementSystem〕是指運(yùn)行在一個(gè)或多個(gè)工作流引擎的軟件上用于定義、實(shí)現(xiàn)和管理工作流運(yùn)行的一套軟件系統(tǒng),人機(jī)交互,推進(jìn)工作流實(shí)例的執(zhí)行,并監(jiān)控其工作狀態(tài)。工作流管理系統(tǒng)可稱為企業(yè)的業(yè)務(wù)操作系統(tǒng)。2.3.1工作流管理系統(tǒng)的功能每個(gè)業(yè)務(wù)過程都有一個(gè)生命周期,從幾分鐘到幾天〔甚至數(shù)月〕,由過程的復(fù)雜性與組成活動(dòng)的持續(xù)時(shí)間來決定。有多種方法實(shí)現(xiàn)工作流管理系統(tǒng),使用多種IT和通訊組件,運(yùn)行環(huán)境可以從一個(gè)小的本地工作組到企業(yè)間。因此,WfMC參考模型從各種角度考慮工作流管理系統(tǒng),希望提供各種不同的實(shí)現(xiàn)技術(shù)、運(yùn)行環(huán)境。雖然不同的工作流管理系統(tǒng)具有不同的應(yīng)用圍和不同的實(shí)施方式,在過程建模和工作流引擎的設(shè)計(jì)和實(shí)現(xiàn)方式上不同,但所有的WfMS表現(xiàn)出某種共同的特性,這為不同產(chǎn)品間的集成、協(xié)同工作提供了根底。所有的工作流管理系統(tǒng)都一樣的特性,即為下邊的三個(gè)功能提供支持:(1)建立時(shí)期〔Build-time〕功能,定義、模擬工作流過程,及其組成活動(dòng)。建立時(shí)期的功能負(fù)責(zé)產(chǎn)生業(yè)務(wù)過程的計(jì)算機(jī)化定義。在這個(gè)階段,通過使用一個(gè)或多個(gè)分析、建模和系統(tǒng)定義工具,把實(shí)際中的業(yè)務(wù)過程轉(zhuǎn)變成形式的、計(jì)算機(jī)可以處理的定義。通常把定義的結(jié)果稱為過程模型、過程模板、過程元數(shù)據(jù)、或者過程定義。在本文中,稱為"過程定義〔processdefinition〕〞。過程定義由一些列的分散的活動(dòng)、相關(guān)的計(jì)算機(jī)、人員操作、活動(dòng)間控制過程進(jìn)程的規(guī)那么構(gòu)成??梢杂梦谋?、圖形或者語言符號(hào)來表示過程定義;(2)運(yùn)行時(shí)期〔Run-time〕控制功能,在運(yùn)行環(huán)境中管理工作流過程,管理不同活動(dòng)執(zhí)行順序。在運(yùn)行時(shí)期,過程定義由負(fù)責(zé)創(chuàng)立、控制過程實(shí)例的軟件所解釋,這個(gè)軟件還要負(fù)責(zé)安排過程中各個(gè)活動(dòng)的執(zhí)行時(shí)間,調(diào)用適當(dāng)?shù)娜藛T、IT應(yīng)用程序資源等。這些運(yùn)行時(shí)期的過程控制功能就象過程定義中描述的過程與現(xiàn)實(shí)所見到的實(shí)際過程間的,反映在運(yùn)行時(shí)期的與用戶和IT應(yīng)用程序間的交互。核心組件是根本的工作流管理控制軟件〔引擎,engine〕,負(fù)責(zé)過程的創(chuàng)立和刪除,控制運(yùn)行過程中活動(dòng)的執(zhí)行時(shí)間安排,以及與人或應(yīng)用工具資源進(jìn)展交互。引擎經(jīng)常是分布在多個(gè)計(jì)算機(jī)平臺(tái)上的,用來處理地理上分布的操作過程;(3)運(yùn)行時(shí)期與用戶、IT應(yīng)用程序〔工具〕的交互。在活動(dòng)間轉(zhuǎn)移控制、確定過程的運(yùn)行狀態(tài)、調(diào)用應(yīng)用工具、傳遞適當(dāng)?shù)臄?shù)據(jù)等,都必須與過程控制軟件進(jìn)展交互。制定標(biāo)準(zhǔn)的框架來支持這種交互,可以在多工作流系統(tǒng)中使用一致的接口,可以開發(fā)工作于不同工作流產(chǎn)品中的通用應(yīng)用工具。具體見圖2-2。圖2-2工作流管理系統(tǒng)特性圖2.3.2工作流管理系統(tǒng)的體系構(gòu)造盡管市場上的工作流產(chǎn)品是各種各樣的,但是已證明可以構(gòu)建一個(gè)通用的工作流系統(tǒng)實(shí)現(xiàn)模型,這個(gè)模型可以適用于市場上的大多數(shù)產(chǎn)品,因此為開發(fā)協(xié)同工作的工作流系統(tǒng)奠定了根底。通用工作流管理系統(tǒng)的體系構(gòu)造如圖2-3所示:圖2-3工作流管理系統(tǒng)的體系構(gòu)造圖(1)過程定義過程定義是用來創(chuàng)立一個(gè)計(jì)算機(jī)可以處理的形式的過程描述??赡芤孕问竭^程定義語言、對(duì)象關(guān)系模型、簡單的系統(tǒng)、腳本、或者在參與者間進(jìn)展信息傳遞的路徑集為根底。過程定義包含工作流執(zhí)行軟件運(yùn)行過程所需的過程所有詳細(xì)信息。包括過程的開場和完畢條件、組成活動(dòng)、在活動(dòng)間進(jìn)展導(dǎo)航的規(guī)那么、需執(zhí)行的用戶任務(wù)、可能會(huì)被調(diào)用的應(yīng)用程序、所有工作流相關(guān)數(shù)據(jù)的定義等。過程定義可能會(huì)涉及到一個(gè)組織/角色模型,模型包含組織構(gòu)造和組織中的角色等信息。從而使過程定義,在與具體活動(dòng)或信息對(duì)象相關(guān)的組織實(shí)體和角色功能方面十分詳細(xì)。工作流執(zhí)行效勞器負(fù)責(zé)把工作流運(yùn)行環(huán)境中的參與者與相應(yīng)的組織實(shí)體或角色聯(lián)系起來。過程定義與〔運(yùn)行時(shí)期〕工作流相關(guān)數(shù)據(jù)協(xié)作,一同用來控制過程中活動(dòng)的、提供活動(dòng)的進(jìn)入與退出條件、不同活動(dòng)的并行執(zhí)行、順序執(zhí)行選項(xiàng)、用戶任務(wù)、與每個(gè)活動(dòng)相關(guān)的IT應(yīng)用程序等。如果過程定義包括組織模型/角色實(shí)體類型,那么完成以上任務(wù),需要訪問組織/角色模型數(shù)據(jù)。(2)過程定義工具過程定義工具是以計(jì)算機(jī)能夠處理的形式進(jìn)展過程的描述。它可以基于形式化的過程定義語言,也可以是對(duì)象關(guān)系模型。對(duì)于最簡單的系統(tǒng),也可以采用腳本或一組路徑選擇命令的方式來描述信息在不同的參與者之間的傳遞。過程定義工具可以是工作流管理系統(tǒng)的一局部,也可能作為業(yè)務(wù)過程分析產(chǎn)品的一局部來提供給用戶。如果是后者,那么該工具必須能夠提供和理解工作流管理系統(tǒng)所使用的特定格式的過程定義,即不同的過程定義工具可以輸人輸出一樣格式的過程定義信息,同一工作流產(chǎn)品可以運(yùn)行不同過程定義工具產(chǎn)生的過程定義信息。為了實(shí)現(xiàn)不同工作流產(chǎn)品之間的互操作,必須要有兼容的轉(zhuǎn)換格式,與運(yùn)行時(shí)期的工作流軟件進(jìn)展過程定義的相互轉(zhuǎn)換。因此,工作流接口的標(biāo)準(zhǔn)化和規(guī)化非常必要。(3)工作流執(zhí)行效勞和工作流引擎工作流執(zhí)行效勞負(fù)責(zé)解釋過程定義、控制過程實(shí)例、安排活動(dòng)的執(zhí)行順序、向用戶工作表中添加工作工程、調(diào)用應(yīng)用工具。工作流執(zhí)行效勞通過一個(gè)或多個(gè)工作流引擎為過程實(shí)例和活動(dòng)的執(zhí)行提供運(yùn)行環(huán)境,主要完成以下功能:1)過程定義的實(shí)例化:解釋已由過程定義工具產(chǎn)生的需要執(zhí)行的過程定義,根據(jù)過程定義和過程執(zhí)行所需要的初始條件和執(zhí)行參數(shù),初始化過程執(zhí)行環(huán)境;2)控制過程實(shí)例和活動(dòng)實(shí)例的狀態(tài)轉(zhuǎn)換;3)為過程執(zhí)行導(dǎo)航:依據(jù)過程定義和工作流相關(guān)數(shù)據(jù)來導(dǎo)航過程實(shí)例,如根據(jù)過程定義中的起始和完畢條件啟動(dòng)和完畢過程實(shí)例;根據(jù)活動(dòng)間的關(guān)聯(lián)和轉(zhuǎn)移條件決定需要開場執(zhí)行的下一個(gè)或多個(gè)活動(dòng)等等;4)與外部資源的交互:工作流執(zhí)行效勞與外部資源的交互方式主要有兩種,即活動(dòng)參與者應(yīng)用接口和應(yīng)用程序調(diào)用接口。對(duì)于活動(dòng)參與者應(yīng)用接口,工作流引擎通過圖2-3中所示的任務(wù)表管理器,基于工作列表和活動(dòng)參與者進(jìn)展數(shù)據(jù)交換。而對(duì)于需要調(diào)用相應(yīng)應(yīng)用程序、組件或Webservices來自動(dòng)化完成的情況,應(yīng)該采用標(biāo)準(zhǔn)化的接口或中間件性質(zhì)的代理方式,其中代理方式更為靈活,不同的應(yīng)用只需進(jìn)展相應(yīng)的二次開發(fā)即可實(shí)現(xiàn)自動(dòng)調(diào)用;)維護(hù)工作流控制數(shù)據(jù)和工作流相關(guān)數(shù)據(jù):過程實(shí)例在執(zhí)行的過程中需要維護(hù)不同過程和活動(dòng)實(shí)例的部狀態(tài)信息,以及工作流引擎用于協(xié)調(diào)和恢復(fù)的各種檢查數(shù)據(jù)和恢復(fù)/重啟信息等,還包括需要向用戶傳遞和用戶輸入的相關(guān)數(shù)據(jù)。工作流引擎負(fù)責(zé)執(zhí)行效勞器中的局部〔或者全部〕運(yùn)行控制環(huán)境。WfMC對(duì)工作流引擎的定義是:為工作流實(shí)例提供運(yùn)行時(shí)期的執(zhí)行環(huán)境的軟件效勞器或引擎。工作流引擎是工作流管理系統(tǒng)的心臟,是業(yè)務(wù)處理過程的任務(wù)調(diào)度器,在某種程度上還是資源的分配器。在采用工作流管理系統(tǒng)支持經(jīng)營過程中,工作流引擎可以看成是一個(gè)業(yè)務(wù)操作系統(tǒng)BOS〔BusinessOperatingSystem〕。業(yè)務(wù)過程在它的管理、監(jiān)控之下運(yùn)行,因此工作流引擎的性能和可靠性就直接決定了業(yè)務(wù)過程的運(yùn)行效率和平安性。工作流引擎主要完成以下功能:1)實(shí)例化及執(zhí)行工作流流程模型:解釋工作流流程模型定義,根據(jù)流程執(zhí)行需要的初始條件和執(zhí)行參數(shù)生產(chǎn)工作流實(shí)例,運(yùn)行流程實(shí)例并管理其運(yùn)行過程。這里需要指出的是,一個(gè)流程模型實(shí)際是業(yè)務(wù)過程的一個(gè)模板,它可以被執(zhí)行屢次,也可以有多個(gè)有關(guān)這個(gè)流程模型的實(shí)例在同時(shí)運(yùn)行。如文檔處理流程,每當(dāng)來了一個(gè)新的文檔時(shí),它都啟動(dòng)一個(gè)新的工作流程,只不過每個(gè)流程處理的文檔不同而已。因此,運(yùn)行多個(gè)文檔處理流程的模型的實(shí)例意味著有多個(gè)文檔在被處理。2)為流程和活動(dòng)的執(zhí)行進(jìn)展導(dǎo)航:根據(jù)流程定義和工作流相關(guān)數(shù)據(jù),為流程實(shí)例的運(yùn)行進(jìn)展導(dǎo)航,如根據(jù)流程的進(jìn)入和退出的條件啟動(dòng)和終止一個(gè)流程實(shí)例;根據(jù)活動(dòng)之間得關(guān)聯(lián)和活動(dòng)得執(zhí)行條件,決定并行或串行執(zhí)行后繼活動(dòng);給用戶提供需要操作的工作流工作項(xiàng)信息,或者根據(jù)所需激活的應(yīng)用程序信息啟動(dòng)相應(yīng)的應(yīng)用程序等。3)與外部資源交互完成各項(xiàng)活動(dòng):工作流執(zhí)行效勞通過兩種途徑完成與外部資源和用戶的交互:客戶應(yīng)用接口和直接調(diào)用應(yīng)用接口方式。對(duì)于客戶應(yīng)用方式,工作流引擎通過任務(wù)項(xiàng)列表供用戶進(jìn)展選擇,并記錄監(jiān)視工作項(xiàng)的完成情況,由用戶完成從流程管理提供的任務(wù)列表中選擇相應(yīng)的任務(wù)項(xiàng)并在需要的時(shí)候調(diào)用應(yīng)用工具完成相應(yīng)任務(wù)的執(zhí)行。在任務(wù)完成后,用戶需要修改相關(guān)任務(wù)的狀態(tài),如置完成標(biāo)致,供流程管理器使用。對(duì)于直接由工作流引擎啟動(dòng)的活動(dòng),由工作流引擎直接調(diào)用相應(yīng)的應(yīng)用來完成,這些自動(dòng)執(zhí)行的應(yīng)用同樣需要講適宜的預(yù)先定義好的應(yīng)用執(zhí)行完成情況反應(yīng)給工作流引擎。工作流引擎自動(dòng)調(diào)用的應(yīng)用主要是針對(duì)基于效勞的無需用戶參與的應(yīng)用,即自動(dòng)化活動(dòng)。如在某個(gè)設(shè)計(jì)圖紙完成電子會(huì)簽后,自動(dòng)進(jìn)展版本發(fā)布并將圖紙歸檔。)維護(hù)工作流控制數(shù)據(jù)和工作流相關(guān)數(shù)據(jù):工作流在執(zhí)行過程中要維護(hù)不同過程和活動(dòng)實(shí)例的部狀態(tài)信息,以及用于協(xié)調(diào)和恢復(fù)的各種檢查數(shù)據(jù)和恢復(fù)/重啟信息,還包括用戶傳送的必要的相關(guān)數(shù)據(jù),主要是流程歷史信息。(4)工作流各種相關(guān)數(shù)據(jù)1)工作流控制數(shù)據(jù)〔WorkflowControlData〕是由工作流引擎所管理的系統(tǒng)數(shù)據(jù)。工作流運(yùn)行效勞利用這些控制數(shù)據(jù)來識(shí)別每個(gè)過程以及活動(dòng)實(shí)例的狀態(tài)。用戶、應(yīng)用程或其它的工作流執(zhí)行效勞,工作流引擎不能對(duì)其進(jìn)展直接讀寫操作,它們可以通過向工作流引擎發(fā)送消息來獲得工作流控制數(shù)據(jù);2)工作流相關(guān)數(shù)據(jù)〔WorkflowRelevantData〕是工作流管理系統(tǒng)用來確定過程實(shí)例狀態(tài)轉(zhuǎn)換的數(shù)據(jù)。工作流數(shù)據(jù)可以被應(yīng)用程序使用,也可由工作流執(zhí)行系統(tǒng)在活動(dòng)間傳遞;3)工作流應(yīng)用數(shù)據(jù)〔WorkflowApplicationData〕是因應(yīng)用軟件而異,且工作流管理系統(tǒng)無法訪問的數(shù)據(jù)。工作流運(yùn)行效勞不能訪問和產(chǎn)生工作流應(yīng)用數(shù)據(jù),該數(shù)據(jù)僅與應(yīng)用程序或活動(dòng)任務(wù)有關(guān)。(5)任務(wù)表管理器和用戶界面任務(wù)表管理器是工作流管理系統(tǒng)用來管理活動(dòng)參與者與工作流執(zhí)行效勞之間交互的一個(gè)組件,它最根本的功能就是負(fù)責(zé)向用戶列出需要其參與的活動(dòng)和用戶關(guān)心的進(jìn)展中的過程實(shí)例,并負(fù)責(zé)通過工作列表與工作流執(zhí)行效勞進(jìn)展交互。在一些更高級(jí)的系統(tǒng)中,任務(wù)表的處理可能更智能化,任務(wù)表管理器可以控制任務(wù)在具有一樣角色的用戶間基于負(fù)載平衡、個(gè)人能力、人員在位情況等進(jìn)展分配或重分配。在工作流參考模型中,更廣泛地使用"客戶端應(yīng)用程序〞這個(gè)詞,而不是"任務(wù)表管理器〞,從而反映其潛在的廣闊使用圍,其包含任務(wù)表處理功能的同時(shí)也包含過程控制功能。在圖2-3中,用戶界面是一個(gè)單獨(dú)的軟件組件,負(fù)責(zé)提示和處理用戶對(duì)話框,并控制用戶的本地接口。在某些系統(tǒng)中,用戶界面可能會(huì)與工作列表管理器組合到一起,構(gòu)成一個(gè)簡單的功能實(shí)體——客戶端應(yīng)用程序。可能希望一些客戶端應(yīng)用程序能夠和幾個(gè)不同的工作流效勞器進(jìn)展交互,從而把效勞器中的任務(wù)以統(tǒng)一的格式通過公共用戶接口提供給用戶??赡軙?huì)需要調(diào)用本地應(yīng)用程序來輔助用戶完成特殊的任務(wù),這由工作列表管理器來負(fù)責(zé)。在工作列表管理器/用戶界面中調(diào)用應(yīng)用程序與工作流執(zhí)行軟件直接調(diào)用應(yīng)用程序,有明顯的不同。(6)管理操作工作流管理系統(tǒng)中有許多以工作站點(diǎn)或者用戶的管理權(quán)限為根底的管理功能。這些管理功能使得管理者,可以執(zhí)行或者修改任務(wù)分配規(guī)那么,確定過程中組織角色的參與者,跟蹤遺漏的最終期限報(bào)警或根據(jù)某些事件跟蹤某一過程實(shí)例的運(yùn)歷史,查詢?nèi)蝿?wù)吞吐量或其它統(tǒng)計(jì)信息等操作。使用分布式工作流的地方,可能需要特殊的命令來在不同的工作流之間傳遞控制操作或者局部響應(yīng),從而提供一個(gè)單一的管理接口。上述的體系構(gòu)造適用于大多數(shù)工作流產(chǎn)品,但并不是所有的產(chǎn)品在每個(gè)不同的系統(tǒng)功能組件間,都提供外部接口。一些產(chǎn)品把幾個(gè)功能組件作為一個(gè)邏輯實(shí)體來實(shí)現(xiàn),并把接口包含在軟件組件的部,導(dǎo)致無法被第三方產(chǎn)品使用。WfMC規(guī)定義了每個(gè)接口在實(shí)現(xiàn)多工作流系統(tǒng)協(xié)同工作中的作用,因此,可以鑒別單獨(dú)的產(chǎn)品是否符合協(xié)同工作標(biāo)準(zhǔn)。2.4工作流參考模型為了實(shí)現(xiàn)不同工作流產(chǎn)品間的協(xié)同工作,WfMC于1994年11月29日發(fā)布了如圖2-4所示的工作流參考模型〔WorkflowReferenceModel〕。工作流參考模型來源于對(duì)普通工作流程序構(gòu)造的分析,確定構(gòu)造中的接口,這些接口可以使不同產(chǎn)品在不同的構(gòu)造層次上協(xié)同工作。所有工作流系統(tǒng)都包含一系列的公共組件,組件間采用一套被定義好的方法進(jìn)展協(xié)作;不同的產(chǎn)品在這些公共的組件中,會(huì)表現(xiàn)出不同的處理能力。為了實(shí)現(xiàn)不同工作流產(chǎn)品間的協(xié)同工作,需要在這些組件間制定一套標(biāo)準(zhǔn)的接口和數(shù)據(jù)交換格式。通過實(shí)現(xiàn)這些標(biāo)準(zhǔn)接口,可以到達(dá)產(chǎn)品間的協(xié)同工作。圖2-4工作流參考模型圖工作流執(zhí)行效勞〔WorkflowEnactmentService〕:由一個(gè)或多個(gè)同構(gòu)或異構(gòu)的工作流引擎組成,用于創(chuàng)立、管理和執(zhí)行流程實(shí)例的軟件效勞。應(yīng)用系統(tǒng)可以通過工作流應(yīng)用編程接口WAPI〔WorkflowAPI〕來訪問該效勞。執(zhí)行時(shí)接口4負(fù)責(zé)傳遞異種工作流執(zhí)行效勞間的活動(dòng)或者子流程。流程定義工具〔ProcessDefinitionTools〕:提供工作流定義效勞,包括各種分析、描述和保存商業(yè)流程的各種應(yīng)用工具,它輸出可被工作流執(zhí)行效勞所識(shí)別的流程定義。過程定義與工作流引擎通過接口1交互,接口1實(shí)現(xiàn)不同工作流定義工具與不同工作流執(zhí)行效勞間的互操作性。工作流客戶端應(yīng)用〔WorkflowClientApplications〕:是工作流的實(shí)現(xiàn)組件,通過它用戶可以激活與各種流程活動(dòng)相關(guān)的客戶端應(yīng)用系統(tǒng),實(shí)現(xiàn)與工作流執(zhí)行效勞的交互。工作流客戶端應(yīng)用是通過接口2與工作流引擎和任務(wù)列表的訪問。被調(diào)用的應(yīng)用〔InvokedApplication〕:被工作流執(zhí)行效勞調(diào)用的用于實(shí)現(xiàn)工作流活動(dòng)容的應(yīng)用系統(tǒng)。接口3提供了一系列的APIs供工作流執(zhí)行效勞和應(yīng)用程序使用,它可以調(diào)用必要的應(yīng)用程序來執(zhí)行活動(dòng)。管理和監(jiān)控工具〔Administration&MonitoringTools〕:提供工作流管理系統(tǒng)管理和監(jiān)控的工具,包括用戶管理、角色管理、審計(jì)管理、資源管理、流程監(jiān)控管理等。接口負(fù)責(zé)操縱管理和監(jiān)控功能,包括用戶管理、角色管理、審計(jì)管理、資源控制過程管理和過程狀態(tài)等。2.5小結(jié)本局部首先闡述了工作流技術(shù)的概況,介紹了工作流技術(shù)的開展歷史與市場上的工作流產(chǎn)品,介紹了工作流技術(shù)的一系列根本概念、工作流管理系統(tǒng),WfMC提出的工作流參考模型的相關(guān)理論。本章的容將為輕量級(jí)工作流引擎的設(shè)計(jì)與實(shí)現(xiàn)提供理論根底。3輕量級(jí)工作流管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)3.1輕量級(jí)工作流管理系統(tǒng)概念3.1.1傳統(tǒng)工作流管理系統(tǒng)從現(xiàn)有的工作流產(chǎn)品來看,許多工作流產(chǎn)品都在不同程度上提供了對(duì)外部工具的集成功能,局部產(chǎn)品還提供了基于表單的應(yīng)用邏輯的定制和開發(fā)環(huán)境。但是,外部工具的多樣性和復(fù)雜性決定了對(duì)外部工具的集成難以做到無縫;而工作流產(chǎn)品建的開發(fā)工具除了與流行的開發(fā)工具不兼容外,其開發(fā)功能往往都比擬簡單。因此,對(duì)于簡單的應(yīng)用(例如公文流轉(zhuǎn)、訂單的審批等),這些產(chǎn)品是適宜的。但是,如果是開發(fā)關(guān)鍵業(yè)務(wù)的應(yīng)系統(tǒng)(特別是行業(yè)應(yīng)用系統(tǒng)),現(xiàn)有工作流產(chǎn)品所能提供的開發(fā)功能是遠(yuǎn)遠(yuǎn)不夠的。其次,許多針對(duì)數(shù)據(jù)庫管理系統(tǒng)DBMS的開發(fā)工具提供了極強(qiáng)的應(yīng)用開發(fā)手段,但是這些開發(fā)工具往往不具備對(duì)工作流機(jī)制的支持,而現(xiàn)有的工作流產(chǎn)品出于其出發(fā)點(diǎn)不同,很難與其它開發(fā)環(huán)境有機(jī)地融合在一起。因此開發(fā)人員往往苦于找不到一套適宜的工作流支撐系統(tǒng)來開發(fā)具有工作流特征的應(yīng)用。還有,具有工作流特征的應(yīng)用的形態(tài)千變?nèi)f化,要想在工作流系統(tǒng)中對(duì)不同的應(yīng)用(括應(yīng)用數(shù)據(jù))進(jìn)展統(tǒng)一的表示往往不遂人意.利用這種所謂靈活的工作流系統(tǒng)開發(fā)出來的應(yīng)用在實(shí)際運(yùn)作過程中反而表現(xiàn)不靈活。因此,另外一種相反趨勢是,應(yīng)用的邏輯仍舊采用應(yīng)用開發(fā)工具去完成,工作流引擎只管理相關(guān)的控制數(shù)據(jù),對(duì)應(yīng)用數(shù)據(jù)只提供必要的關(guān)聯(lián)手段將其與控制數(shù)據(jù)在一起。綜上所述,傳統(tǒng)工作流管理系統(tǒng)的設(shè)計(jì)從提供功能齊全的工作流效勞角度出發(fā),不可防止地導(dǎo)致了系統(tǒng)架構(gòu)極為龐大,系統(tǒng)的復(fù)雜性也隨著增大。同時(shí)傳統(tǒng)的工作流管理系統(tǒng)提供的功能是以集成的方式實(shí)現(xiàn),從數(shù)據(jù)存儲(chǔ)到運(yùn)行環(huán)境往往都有自己的一整套獨(dú)特的體系構(gòu)造,因而想從中別離出某個(gè)功能,將會(huì)是一件非常困難的事情。由于這些問題的存在,使得傳統(tǒng)的工作流管理系統(tǒng)不能快速地根據(jù)具體的應(yīng)用需求定制,靈活地集成到應(yīng)用系統(tǒng)。3.1.2輕量級(jí)工作流管理系統(tǒng)輕量級(jí)工作流管理系統(tǒng)是相對(duì)傳統(tǒng)的工作流管理系統(tǒng)而提出的,與傳統(tǒng)的工作流管理系統(tǒng)相比,在設(shè)計(jì)上從夠用、靈活和低本錢的原那么出發(fā),不追求工作流管理系統(tǒng)功能的完備和復(fù)雜,只是實(shí)現(xiàn)其中必不可少的功能和特征;在使用上更加簡單。3.2系統(tǒng)概述本系統(tǒng)從功能上來說,并不算很完備,但是擁有了辦公自動(dòng)化系統(tǒng)的最核心局部—工作流系統(tǒng)。本系統(tǒng)在保證平安性方面,使用了角色的概念,其中角色包括:匿名用戶角色、職員角色和超級(jí)管理員角色,主要完成以下功能:3.2.1匿名用戶角色·個(gè)人資料管理,包括查看和修改個(gè)人資料及密碼。3.2.2職員角色局部·日程安排,包括創(chuàng)立、修改和刪除日程安排。·公文傳閱,包括新建、修改和審批公文?!す哪0澹ㄐ陆?、修改和顯示公文模板。·公文流轉(zhuǎn),包括新建、修改和顯示工作流·個(gè)人資料,包括查看和修改個(gè)人資料3.2.3管理員角色功能局部·添加用戶·查看用戶信息·修改用戶權(quán)限·修改用戶密碼·刪除用戶3.3系統(tǒng)預(yù)覽圖3-1是匿名用戶登陸后的首頁,該用戶只有更改和查看個(gè)人資料權(quán)限圖3-1匿名用戶角色登陸后的權(quán)限圖3-2為職員用戶登陸后的界面。這是一個(gè)備忘提醒頁面,就像Outlook一樣,會(huì)提醒可登陸用戶今天該完成的日志安排和未處理的公文。圖3-2職員用戶登陸后的界面圖3-3是為管理員用戶登陸后的界面,擁有管理員角色的用戶可以對(duì)用戶的權(quán)限進(jìn)展管理圖3-3管理員角色登陸后的界面3.4系統(tǒng)特點(diǎn)本系統(tǒng)具有以下特點(diǎn)?!な褂糜脩艨丶㈨撁婺K化,將頁面分解為幾個(gè)模塊,例如頁面的頭尾和導(dǎo)航樹等。每個(gè)模塊都以用戶控件構(gòu)成,再配合MasterPage,大大提高了開發(fā)效率?!け鞠到y(tǒng)采用目前比擬流行的B/S模式下MVC三層架構(gòu)設(shè)計(jì),即程序邏輯構(gòu)造分為用戶界面層、業(yè)務(wù)邏輯層和模型層。三層在實(shí)際的物理構(gòu)造上也是獨(dú)立的,業(yè)務(wù)邏輯層采用cs類來實(shí)現(xiàn),用戶界面和業(yè)務(wù)邏輯別離,系統(tǒng)的平安性、可維護(hù)性、重用性和可擴(kuò)展性都都大大提高?!と诵曰O(shè)計(jì),本系統(tǒng)導(dǎo)航的一個(gè)亮點(diǎn)就是導(dǎo)航明晰。·使用Theme與Skin技術(shù),使用ASP.NET2.0的Theme與Skin技術(shù)后,不必精心設(shè)計(jì)每個(gè)頁面,而只需要設(shè)計(jì)一次Theme,便可應(yīng)用與整個(gè),而且為將來更換風(fēng)格帶來極大的便利。3.5系統(tǒng)需求分析本系統(tǒng)在保證平安性方面使用了角色的概念,其中角色包括:匿名用戶角色、職員角色和管理員角色,每個(gè)角色能完成的功能如下。3.5.1可登陸用戶的根本功能〔1〕登陸?!?〕個(gè)人資料。·查看自己的個(gè)人資料〔且只能查看自己〕,包括用戶名〔唯一且只讀〕、、性別、年齡、、手機(jī)、和住址?!ば薷淖约旱膫€(gè)人資料,包括密碼、、年齡、、手機(jī)、和住址。3.5.2公司職員具有的功能〔1〕個(gè)人日程安排·添加個(gè)人日程安排,輸入包括事件的開場事件、事件的完畢事件和事件的容?!ぐ词录拈_場時(shí)間順序列出個(gè)人未超期的日程安排詳細(xì)信心?!じ鶕?jù)事件的ID來修改個(gè)人的某項(xiàng)日程安排,可修改的項(xiàng)包括事件的開場事件、和事件的完畢事件和事件的容?!h除個(gè)人的日程安排?!?〕工作流·創(chuàng)立新的工作流,每個(gè)用戶創(chuàng)立的工作流的名字都不能一樣,也不能為空,輸入字段包括工作流名稱、工作流描述、工作流流轉(zhuǎn)過程。·刪除沒有被使用的工作流,如果工作流當(dāng)前沒有使用,那么可以將它刪除?!げ榭垂ぷ髁鳎ú榭垂ぷ髁髁斜砗筒榭垂ぷ髁髟敿?xì)信息?!?〕公文流轉(zhuǎn)·新建一個(gè)公文,輸入公文字段包括公文描述、文檔和選定的工作流?!ぬ幚砉模蛇M(jìn)展的操作根據(jù)選定的工作流來定,可能包括查看、簽字、回退、修改和完成。當(dāng)用戶選擇"查看"或者〞簽字"后,該公文將自動(dòng)傳給下一個(gè)用戶;當(dāng)用戶選擇〞回退"的時(shí)候,該公文自動(dòng)轉(zhuǎn)給前一個(gè)用戶;當(dāng)用戶選擇〞修改"的時(shí)候,用戶將進(jìn)入修改公文的界面以對(duì)公文進(jìn)展修改;當(dāng)用戶選擇〞完成"的時(shí)候,該公文被標(biāo)志為完成?!げ榭次刺幚淼墓牧斜?,顯示的容包括公文描述。3.5.3系統(tǒng)管理員具有的功能管理用戶?!ぬ砑佑脩?,包括用戶名〔唯一且只讀〕、、性別、年齡、、手機(jī)、和住址和權(quán)限?!h除用戶?!ば薷挠脩魴?quán)限?!ば薷钠渌脩舻挠脩裘艽a。3.6系統(tǒng)根本框架3.6.1功能上劃分從功能上來看,主要有以下一些功能:日程安排管理、公文管理、公文模板、工作流和用戶管理。1〕個(gè)人工作安排管理·查看個(gè)人日程安排·添加個(gè)人日程安排·修改個(gè)人日程安排·刪除個(gè)人日程安排2〕公文流轉(zhuǎn)·添加新公文·查看未批公文·處理公文3〕用戶管理·驗(yàn)證用戶名和密碼·修改用戶個(gè)人資料·刪除用戶4〕工作流管理·添加工作流·刪除工作流·查看工作流3.6.2角色上劃分本系統(tǒng)有三個(gè)角色,不同的角色有不同的權(quán)限·匿名用戶角色〔LoginRole〕·職員角色〔ClerkRole〕·系統(tǒng)管理員角色〔SysAdminRole〕根據(jù)上面的功能分析,畫出各個(gè)角色的功能模塊圖如下列圖所示:匿名用戶角色的功能模塊如圖3-4所示匿名用戶角色模塊匿名用戶角色模塊登陸個(gè)人資料管理查看我的個(gè)人信息更新我的個(gè)人信息修改密碼圖3-4匿名用戶角色的功能模塊圖職員角色的功能模塊如圖3-5所示職員角色功能職員角色功能登陸日程安排公文模板公文傳閱工作流添加日程安排修改日程安排刪除日程安排查看日程安排列表添加公文模板修改公文模板刪除公文模板顯示公文模列表板更新公文發(fā)布新公文查看公文列表處理公文更新公文新建工作流修改工作流刪除工作流顯示工作流列表圖3-5職員角色的功能模塊圖管理員角色的功能模塊如圖3-6所示職員角色功能職員角色功能登陸用戶管理添加用戶刪除用戶查看用戶權(quán)限修改用戶權(quán)限查看用戶列表修改用戶密碼圖3-6管理員角色的功能模塊圖3.6數(shù)據(jù)庫的設(shè)計(jì)3.6.1數(shù)據(jù)庫需求分析通過以上功能分析,得出一下需求信息?!び脩粲袡?quán)限管理,每個(gè)用戶有一定的角色,角色分為3類:匿名用戶角色、可登陸用戶角色和超級(jí)管理員用戶角色。用戶表中必須包含權(quán)限這一屬性?!つ涿脩舻顷懞罂删S護(hù)自己的個(gè)人信息,包括查看修改自己的信心和修改自己的密碼?!び脩舯肀仨氂涗浻脩舻母鞣N信息,包含:用戶名、用戶密碼、電子、、移動(dòng)、地址和權(quán)限。·擁有職員角色的用戶可以進(jìn)展辦公操作,包括創(chuàng)立、修改和刪除日程安排,新建修改和審批公文,新建、修改和顯示公文模板,新建、修改和顯示工作流?!と粘贪才疟碇辽倌軌蛴涗浰鶎儆脩?、開場時(shí)間和容等信息?!徟谋碇袘?yīng)該至少能夠記錄主題,使用的工作流、當(dāng)前處于的狀態(tài)、容等信息?!す哪0逯袘?yīng)該至少能夠記錄所屬用戶、主題、工作流程中的每個(gè)流轉(zhuǎn)和描述等信息?!ち鬓D(zhuǎn)表中應(yīng)該至少能夠記錄所屬的工作流、該動(dòng)作的處理者、該動(dòng)作要進(jìn)展的操作等信息?!碛泄芾韱T角色的用戶可以進(jìn)展一些用戶類的操作,包括:添加用戶、查看用戶信息、修改用戶權(quán)、修改用戶密碼和刪除用戶。3.6.2數(shù)據(jù)庫概念構(gòu)造設(shè)計(jì)由上面的分析,可以設(shè)計(jì)出滿足需求的各種實(shí)體。用戶與日程安排之間的日程安排如圖6-1所示圖6-1用戶和日程安排之間的E-R圖用戶與工作流及工作流轉(zhuǎn)換之間的E-R圖如圖6-2所示圖6-2用戶與工作流及工作流轉(zhuǎn)換之間的E-R圖用戶與公文模板之間E-R圖如圖6-3所示圖6-3用戶與公文模板之間的E-R圖用戶與公文之間E-R圖如圖6-4所示圖6-4用戶與公文之間的E-R圖用戶與已處理公文模板之間的E-R圖如圖6-5所示圖6-5用戶與已處理公文之間的E-R圖用戶實(shí)體E-R圖如下圖用戶用戶用戶ID用戶名密碼電子地址角色I(xiàn)D圖6-6用戶信息實(shí)體E-R圖日程安排實(shí)體如圖6-7所示日程安排日程安排所屬用戶開場事件內(nèi)容圖6-7日程安排信息實(shí)體如圖3-13所示公文模板信息實(shí)體E-R如圖6-8所示公文模板公文模板所屬用戶主題內(nèi)容圖6-8公文模板信息實(shí)體E-R圖工作流實(shí)體E-R圖如圖6-9所示工作流工作流所屬用戶主題描述圖6-9工作流實(shí)體E-R圖工作流轉(zhuǎn)換實(shí)體E-R圖如圖6-10所示轉(zhuǎn)換轉(zhuǎn)換所屬用戶開場事件內(nèi)容圖6-10工作流中的轉(zhuǎn)換實(shí)體E-R圖公文實(shí)體E-R圖如圖6-11所示公文公文主題內(nèi)容是否為草稿當(dāng)前等待的轉(zhuǎn)換所屬工作流是否可簽字是否可查看是否可修改是否可回退圖6-11公文實(shí)體E-R圖已處理公文實(shí)體E-R如圖6-12所示已處理公文已處理公文公文ID所屬用戶圖6-12已處理公文實(shí)體E-R圖3.6.3數(shù)據(jù)庫邏輯構(gòu)造設(shè)計(jì)下面每個(gè)表中在數(shù)據(jù)庫中顯示為一表,總共有用戶表、日程安排表,公文模板表、工作流表、公文表、已處理公文表和角色表。表6-13為用戶表,記錄用戶的信息表6-13用戶表〔T_User〕列名數(shù)據(jù)類型字段大小必填字段默認(rèn)值說明UserIDInt4是自動(dòng)產(chǎn)生用戶ID〔主鍵UserNameNvarchar50是〔無〕用戶名UserPwdNvarchar50是〔無〕用戶密碼EmailNvarchar50是〔無〕電子TelNvarchar50是〔無〕MobileNvarchar50是〔無〕移動(dòng)AddressNvarchar50是〔無〕地址RoleIdInt4是〔無〕角色I(xiàn)d表6-14為日常安排表,存儲(chǔ)日程安排信息。表6-14日程安排表〔T_Arrangement〕ArrangeIDInt4是自動(dòng)產(chǎn)生日程安排ID〔主鍵〕UserIDInt4是〔無〕用戶ID〔外鍵〕BeginTimeNvarchar50是〔無〕開場時(shí)間ContentText16是〔無〕容表6-15為公文模班表,記錄公文模板信息表6-15公文模板表〔T_DocTemp〕DocTemIDInt4是自動(dòng)產(chǎn)生ID〔主鍵〕TitleNvarchar50是〔無〕主題CotentText16是〔無〕容UserIDInt4是〔無〕所屬用戶ID(外鍵)表6-16為工作流信息表,記錄工作流信息表6-16工作流表〔T_Workflow〕UserIDInt4是〔無〕ID〔主鍵〕OwnerIDInt4是〔無〕所屬用戶TitleNvarchar50是〔無〕主題DescriptionNvarchar50是〔無〕描述表6-17為工作流轉(zhuǎn)換表,記錄每個(gè)工作流轉(zhuǎn)換的信息。表6-17工作流轉(zhuǎn)換表〔T_Tran〕TranIDint4是主鍵〔自動(dòng)產(chǎn)生〕轉(zhuǎn)換IDWFIDint4是〔無〕所說工作流IDReceiverIDint4是〔無〕進(jìn)展該操作的用戶CanSignint4是〔無〕是否可簽字CanViewint4是〔無〕是否可查看CanUpdateint4是〔無〕是否可修改CanRollBackint4是〔無〕是否可后退表6-17為公文表,記錄公文信息表6-18公文表〔T_Doc〕DocIDint4是主鍵〔自動(dòng)產(chǎn)生〕文檔ID〔主鍵〕TitleNcharchar50是〔無〕主題WainTranIDInt4是〔無〕正在等待進(jìn)展的轉(zhuǎn)換WFIDInt4是〔無〕所屬工作流IsFinnshedInt4是〔無〕是否完成的標(biāo)記StepInt4是〔無〕步數(shù)Contenttext16是〔無〕容IsDraftInt4是〔無〕是否為草稿表6-19記錄已處理的公文表,記錄已處理公文信息表6-19已處理公文表〔T_DealtDoc〕DocIDInt4是〔無〕公文IDUserIDInt4是〔無〕用戶ID表6-20菜單樹表,記錄菜單和信息表6-20菜單樹表〔T_TreeMenu〕NodeIdInt4是〔無〕子節(jié)點(diǎn)IdParentIdInt4是〔無〕父節(jié)點(diǎn)IdTextInt16是〔無〕文本UrlNvarchar50是〔無〕Dutyncarchar50是〔無〕權(quán)限3.7模型〔Model〕層的設(shè)計(jì)(局部)3.7.1用戶模型類〔T_User.cs〕usingSystem;namespaceWorkFlow.Model{ ///<summary> ///實(shí)體類T_User。(屬性說明自動(dòng)提取數(shù)據(jù)庫字段的描述信息) ///</summary> publicclassT_User { publicT_User() {} #regionModel privateint_userid; privatestring_username;privatestring_userpwd; privatestring_email; privatestring_tel; privatestring_mobile; privatestring_address; privateint_roleid; ///<summary> /// ///</summary> publicintUserID { set{_userid=value;} get{return_userid;} } ///<summary> /// ///</summary> publicstringUserName { set{_username=value;} get{return_username;} } ///<summary> /// ///</summary>publicstringUserPwd{set{_userpwd=value;}get{return_userpwd;}} ///<summary> /// ///</summary> publicstringEmail { set{_email=value;} get{return_email;} } ///<summary> /// ///</summary> publicstringTel { set{_tel=value;} get{return_tel;} } ///<summary> /// ///</summary> publicstringMobile { set{_mobile=value;} get{return_mobile;} } ///<summary> /// ///</summary> publicstringAddress { set{_address=value;} get{return_address;} } ///<summary> /// ///</summary> publicintRoleId { set{_roleid=value;} get{return_roleid;} } #endregionModel }}3.7.2工作流模型類〔T_workflow.cs〕usingSystem;namespaceWorkFlow.Model{ ///<summary> ///實(shí)體類T_Workflow。(屬性說明自動(dòng)提取數(shù)據(jù)庫字段的描述信息) ///</summary> publicclassT_Workflow { publicT_Workflow() {} #regionModel privateint_wfid; privateint_ownerid; privatestring_title; privatestring_description; ///<summary> /// ///</summary> publicintWFID { set{_wfid=value;} get{return_wfid;} } ///<summary> /// ///</summary> publicintOwnerID { set{_ownerid=value;} get{return_ownerid;} } ///<summary> /// ///</summary> publicstringTitle { set{_title=value;} get{return_title;} } ///<summary> /// ///</summary> publicstringDescription { set{_description=value;} get{return_description;} } #endregionModel }}3.8業(yè)務(wù)邏輯層設(shè)計(jì)〔局部類〕3.8.1數(shù)據(jù)庫幫助類〔SQLHelper.cs〕〔局部〕//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////名稱:SQLHelper版本號(hào):1.0//功能:ADO.net的高級(jí)應(yīng)用作者:梅小虎////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////usingSystem;usingSystem.Collections;usingSystem.Data;usingSystem.Data.OleDb;usingSystem.Data.SqlClient;usingSystem.Text;namespaceWorkFlow.DBUtility{///<summary>///SQLHelper的摘要說明///</summary>publicclassSQLHelper{publicSqlConnectionmyConn;Sqlmandmymand=newSqlmand();SqlDataAdaptermyAdapter;DataSetmyDataSet;///<summary>//////</summary>publicSQLHelper(stringConnectionString) { _connectionstring=ConnectionString; } privatestring_connectionstring;///<summary> ///字符串 ///</summary> publicstringConnectionString { get { return_connectionstring; } set { _connectionstring=value; } } ///<summary> ///獲取連接對(duì)象 ///</summary> ///<paramname="myConn">連接對(duì)象</param> ///<returns>1成功;0失敗</returns> publicintGetDBConnection(outSqlConnectionretConn) { retConn=newSqlConnection(); try { if(_connectionstring=="") { return0; } else { retConn.ConnectionString=_connectionstring; } retConn.Open(); return1; } catch(Exceptione) { stringss=e.Message; try { retConn.Close(); } catch{} return0; } }publicintGetDBConnection(outSqlConnectionretConn,outstringstrErr) { strErr="";retConn=newSqlConnection(); try { if(_connectionstring=="") { return0; } else { retConn.ConnectionString=_connectionstring; } retConn.Open(); return1; } catch(Exceptione) {strErr=e.Message; strErr=strErr.Replace("'","*"); strErr=strErr.Replace("\r","\\r"); strErr=strErr.Replace("\n","\\n"); try { retConn.Close(); } catch{} return0; } } ///<summary> ///關(guān)閉Connection連接,因reader方法所以才公開 ///</summary> ///<returns>1成功;0失敗</returns> privatevoidCloseConnection() { try { myConn.Close(); } catch{} }///<summary>///測試能否翻開連接///</summary>///<paramname="strErr">輸出錯(cuò)誤參數(shù)</param>///<returns>1成功;0失敗,失敗時(shí)錯(cuò)誤信息通過strErr傳出來</returns> publicintTe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村土地租賃與買賣合同(2025年度專用)
- 二零二五年度房產(chǎn)凈身出戶離婚協(xié)議及共同債務(wù)承擔(dān)
- 2025年度洗車場地租賃與品牌授權(quán)合同
- 二零二五年度培訓(xùn)機(jī)構(gòu)員工培訓(xùn)進(jìn)修合同
- 二零二五年度現(xiàn)代物流中心土地使用權(quán)抵押擔(dān)保與倉儲(chǔ)配送合同
- 荒山承包合同范本:2025年度林業(yè)資源開發(fā)與環(huán)境保護(hù)合作
- 貴州省2025年度數(shù)字經(jīng)濟(jì)領(lǐng)域勞動(dòng)合同示范范本
- 2025年度荒山承包林業(yè)產(chǎn)業(yè)結(jié)構(gòu)調(diào)整合同
- 二零二五年度個(gè)體工商戶退伙合同解除與知識(shí)產(chǎn)權(quán)歸屬協(xié)議
- 二零二五年度市場營銷團(tuán)隊(duì)薪資激勵(lì)與勞動(dòng)合同修訂
- 我的家鄉(xiāng)湖北襄陽介紹
- 邏輯判斷課件
- 社會(huì)心理學(xué):社會(huì)心理學(xué)的研究方法完整版
- 預(yù)防住院患者跌倒墜床的防范措施及宣教
- 地坪漆施工合同地坪漆施工合同范本
- (完整)2-吸附脫附等溫線及吸附理論
- 2023年全國甲卷作文真題導(dǎo)寫-2024年高考語文一輪復(fù)習(xí)作文備考特輯(全國通用)
- 畢業(yè)設(shè)計(jì)(論文)-基于PLC的供水控制系統(tǒng)設(shè)計(jì)
- 金稅四期下的稅務(wù)風(fēng)險(xiǎn)與防范
- 把未來點(diǎn)亮歌詞打印版
- 國家中醫(yī)藥管理局第3批24個(gè)專業(yè)104個(gè)病種中醫(yī)診療方案
評(píng)論
0/150
提交評(píng)論