李彩云 徐淑萍 王亞文
摘要:為了提高辦事效率,將教務(wù)工作過程中的所有環(huán)節(jié)銜接起來,使得事務(wù)處理結(jié)果能自動(dòng)流轉(zhuǎn),該文提出并設(shè)計(jì)了一種基于工作流的教務(wù)管理系統(tǒng)。此系統(tǒng)利用WWF開發(fā),可對(duì)工作流程進(jìn)行監(jiān)控和管理,并使得用戶在實(shí)際執(zhí)行過程中可調(diào)整業(yè)務(wù)流程。
關(guān)鍵詞:教務(wù)管理系統(tǒng);工作流;WWF
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)22-pppp-0c
教務(wù)管理系統(tǒng)涉及多部門、多用戶,由多環(huán)節(jié)組成,各環(huán)節(jié)之間存在著自然的邏輯聯(lián)系, 基于工作流的教務(wù)管理系統(tǒng)不僅能夠解決獨(dú)立環(huán)節(jié)的事務(wù)問題,而且能夠?qū)⑦^程中的所有環(huán)節(jié)銜接起來,使得上一個(gè)環(huán)節(jié)的事務(wù)處理結(jié)果能自動(dòng)流轉(zhuǎn)到下一環(huán)節(jié)以便利用或處理,最終可以縮短辦事周期、改善校園內(nèi)(外)部流程、減少人為差錯(cuò)和延誤,極大地提高辦事效率,具有廣闊的發(fā)展前景。它也使得大學(xué)在復(fù)雜多變的社會(huì)環(huán)境中,為了快速適應(yīng)變化,在保存現(xiàn)有投資,現(xiàn)有系統(tǒng)不變的情況下,迅速調(diào)整工作流程成為可能。
1 關(guān)鍵技術(shù)
1.1 工作流技術(shù)
根據(jù)WFMC(國際工作流管理聯(lián)盟)的定義,工作流(Workflow)就是自動(dòng)運(yùn)作的業(yè)務(wù)過程部分或整體,表現(xiàn)為參與者對(duì)文件、信息或任務(wù)按照規(guī)程采取行動(dòng),并令其在參與者之間傳遞。簡單地說,工作流就是一系列相互銜接、自動(dòng)進(jìn)行的業(yè)務(wù)活動(dòng)或任務(wù)。工作流是經(jīng)營過程的一個(gè)計(jì)算機(jī)實(shí)現(xiàn),而工作流管理系統(tǒng)則是這一實(shí)現(xiàn)的軟件環(huán)境,它完成工作流的定義和管理,并按照在計(jì)算機(jī)中預(yù)先定義好的工作流邏輯推進(jìn)工作流實(shí)例的執(zhí)行。
工作流管理系統(tǒng)的三種基本功能[1]:
1) 設(shè)計(jì)功能(Build-time function): 提供工作流流程及其相關(guān)活動(dòng)的定義及模擬。
2) 運(yùn)行控制功能(Run-time control function): 提供工作流流程的管理,并根據(jù)流程定義控制活動(dòng)(Activity)的執(zhí)行次序。
3) 運(yùn)行交互功能(Run-time interaction function):與用戶或IT應(yīng)用程序進(jìn)行交互以完成活動(dòng)的執(zhí)行。
1.2 開發(fā)平臺(tái)WWF介紹
Windows Workflow Foundation是.NET Framework3.0添加的新組件,它提供了一個(gè)編程框架和工具以開發(fā)和執(zhí)行各種不同的基于工作流的應(yīng)用程序。Workflow Foundation是一個(gè)企業(yè)級(jí)工作流開發(fā)框架和引擎,它允許把一個(gè)工作流定義為一系列的活動(dòng),并可以將活動(dòng)輕易地進(jìn)行重用和組合。你甚至可以在工作流己經(jīng)處于運(yùn)行過程中時(shí)添加和刪除活動(dòng),這將使你在面對(duì)改變的時(shí)候具有巨大的靈活性。它還提供了一個(gè)創(chuàng)建自定義活動(dòng)的框架[2]。
2 系統(tǒng)設(shè)計(jì)
應(yīng)用系統(tǒng)開發(fā)根據(jù)建好的工作流模型,建立相應(yīng)的信息系統(tǒng)、數(shù)據(jù)庫系統(tǒng),實(shí)現(xiàn)教務(wù)工作流管理系統(tǒng),實(shí)現(xiàn)工作流管理系統(tǒng)和應(yīng)用系統(tǒng)集成。
2.1 教務(wù)管理系統(tǒng)中的工作流模型
在分析教務(wù)管理系統(tǒng)業(yè)務(wù)流程與業(yè)務(wù)特點(diǎn)的基礎(chǔ)上,對(duì)流程模型進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn)。本文實(shí)現(xiàn)了一個(gè)基于關(guān)系型數(shù)據(jù)庫的輕量級(jí)工作流引擎,運(yùn)用WWF技術(shù)對(duì)核心模塊進(jìn)行了具體的設(shè)計(jì)并實(shí)現(xiàn)了工作流管理系統(tǒng)的流程控制、活動(dòng)轉(zhuǎn)移、任務(wù)分配及用戶權(quán)限管理等基本功能。
工作流模型是對(duì)業(yè)務(wù)流程的抽象表示。模型中需要明確的表達(dá)出流程中的活動(dòng)與活動(dòng)間的關(guān)系,活動(dòng)間傳遞的信息、活動(dòng)的執(zhí)行實(shí)體、活動(dòng)所需要的資源等。因此,結(jié)合教務(wù)管理信息系統(tǒng)流程特點(diǎn),流程模型從邏輯上分為三部分,即過程模型、信息模型和組織模型。
2.1.1 過程模型
過程模型用來定義工作流的過程邏輯,包括組成工作流的所有活動(dòng)以及活動(dòng)之間的依賴關(guān)系。它是整個(gè)工作流模型的基礎(chǔ)與核心,其他模型均為其提供支持。過程模型描述一個(gè)能夠由工作流執(zhí)行服務(wù)執(zhí)行的過程信息,包括活動(dòng)信息、轉(zhuǎn)移信息、相關(guān)應(yīng)用程序及相關(guān)數(shù)據(jù)等。
下面我們以學(xué)生畢業(yè)離校審核為例,其它模塊類似。
流程介紹:學(xué)生畢業(yè)離校審核程序是:學(xué)生提交申請(qǐng)后,由系部審核,系部審核通過就交給教務(wù)處審核,教務(wù)處審核通過后權(quán)限交給財(cái)務(wù)科,財(cái)務(wù)科審核通過后交給學(xué)籍管理員。其中哪個(gè)部門沒有通過都會(huì)填寫相關(guān)事宜返回給學(xué)生。學(xué)生收到后刪除此次申請(qǐng),結(jié)束這個(gè)流程實(shí)例,及時(shí)處理相關(guān)事情并再次提交申請(qǐng),創(chuàng)建另一個(gè)流程實(shí)例。如果每個(gè)部門都同意后,系統(tǒng)便將權(quán)限釋放給學(xué)籍科。學(xué)籍科存檔、上報(bào)后終結(jié)流程。
流程示意圖如圖1:
2.1.2 組織模型
基于角色的組織模型,一定程度的提高了系統(tǒng)的安全性和任務(wù)派遣靈活性。通過工作流客戶端接口的設(shè)計(jì)實(shí)現(xiàn)了用戶的待辦任務(wù)、已辦任務(wù)、流程監(jiān)控等功能模塊,使得工作流技術(shù)較好的應(yīng)用在了教務(wù)管理信息系統(tǒng)中。
組織模型用于定義由“誰”來執(zhí)行的問題,為過程模型提供參與者。基于角色的權(quán)限控制是在權(quán)限與用戶之間引入了角色作中介,利用角色控制各種操作的使用權(quán)。
權(quán)限是對(duì)系統(tǒng)中特定功能的操作限制,而角色是具有某種權(quán)限的用戶的集合。由圖2可看出,基于角色的權(quán)限控制實(shí)現(xiàn)了人與操作權(quán)限的邏輯分離,即將操作權(quán)限關(guān)聯(lián)于角色,而角色則關(guān)聯(lián)于用戶。實(shí)際應(yīng)用中一個(gè)用戶可以具有多種角色,一個(gè)角色也可以屬于多個(gè)用戶,即用戶與角色之間是多對(duì)多的關(guān)系。同樣的,一個(gè)角色可以擁有多項(xiàng)操作權(quán)限,而一個(gè)權(quán)限也可以屬于多個(gè)角色。因此,基于角色的權(quán)限管理具有大的靈活性[3]。系統(tǒng)使用時(shí),由系統(tǒng)管理員根據(jù)應(yīng)用的需要,定義各種角色,然后設(shè)置角色的操作權(quán)限,而用戶被指派為不同的角色。只有屬于相應(yīng)角色的用戶才能獲得該角色所擁有的操作權(quán)限,否則無權(quán)操作。這樣的操作模式使得權(quán)限的管理與維護(hù)變得容易。例如當(dāng)用戶職務(wù)發(fā)生變化時(shí),只要將該用戶從原有的角色中刪除并賦予新的角色即可。實(shí)際工作中,角色和權(quán)限之間的變化相對(duì)于角色與用戶之間的變化慢的多。
2.1.3 信息模型
信息模型用于定義并維護(hù)一個(gè)工作流實(shí)例運(yùn)行過程中所需要的全部信息,并負(fù)責(zé)管理這些數(shù)據(jù)的使用范圍和表示方式。很多情況下,流程的各個(gè)環(huán)節(jié)的任務(wù)之間要傳遞流程數(shù)據(jù),這樣后續(xù)的任務(wù)才能被正確地啟動(dòng)。也就是說流程的各個(gè)業(yè)務(wù)模塊之間不是孤立的,他們即需要其他業(yè)務(wù)模塊提供的大量數(shù)據(jù)信息,也會(huì)因?yàn)樽陨淼膱?zhí)行而生成一些數(shù)據(jù)。因此,信息模型的設(shè)計(jì)是決定活動(dòng)之間能否正確流轉(zhuǎn)的關(guān)鍵。
信息模型按照其功能由以下三類數(shù)據(jù)構(gòu)成[1]:
工作流相關(guān)數(shù)據(jù):它是工作流管理系統(tǒng)在進(jìn)行工作流實(shí)例狀態(tài)轉(zhuǎn)換時(shí)所需要訪問的數(shù)據(jù),這些數(shù)據(jù)可以被工作流引擎、工作流參與者和應(yīng)用程序訪問,并能夠被修改。本系統(tǒng)中的工作流相關(guān)數(shù)據(jù)用于確定過程實(shí)例狀態(tài)轉(zhuǎn)換的條件,同時(shí)也被引用于活動(dòng)轉(zhuǎn)移的條件判斷中。例如,學(xué)生離校申請(qǐng)流程中教務(wù)處審批后得到的“教務(wù)處審批結(jié)果”和財(cái)務(wù)部門審核結(jié)束而生成的“財(cái)務(wù)部門審批結(jié)果”等數(shù)據(jù),它們的值要被后續(xù)的判斷節(jié)點(diǎn)所使用,進(jìn)而決定此次申請(qǐng)流程的流轉(zhuǎn)。工作流相關(guān)數(shù)據(jù)可以被應(yīng)用程序訪問并修改。因此,工作流相關(guān)數(shù)據(jù)是可以在活動(dòng)實(shí)例之間傳遞的一類數(shù)據(jù)。
工作流控制數(shù)據(jù):工作流執(zhí)行服務(wù)管理的系統(tǒng)數(shù)據(jù)。這類數(shù)據(jù)由工作流執(zhí)行服務(wù)控制,用戶及應(yīng)用程序不能對(duì)其進(jìn)行直接的訪問,但可以通過接口對(duì)某些數(shù)據(jù)進(jìn)行查詢。例如,工作流實(shí)例的狀態(tài)信息、某一活動(dòng)的狀態(tài)信息等。
應(yīng)用數(shù)據(jù):是指那些由應(yīng)用程序操作的數(shù)據(jù)。它們是針對(duì)應(yīng)用程序設(shè)計(jì)的,工作流管理系統(tǒng)無法對(duì)它們進(jìn)行訪問。例如,離校申請(qǐng)類流程中用戶所填寫的申請(qǐng)單內(nèi)容。這類數(shù)據(jù)反映的是具體應(yīng)用的實(shí)際內(nèi)容信息,在整個(gè)流程中流動(dòng),與流程控制無關(guān)。
2.2 系統(tǒng)實(shí)現(xiàn)
申請(qǐng)單為用戶提供信息輸入和顯示的交互界面。在申請(qǐng)單上,申請(qǐng)人與各級(jí)審批人都有各自填寫的固定區(qū)域。我們可以分別為申請(qǐng)人及各級(jí)審批人設(shè)計(jì)表單,在不同工作節(jié)點(diǎn)調(diào)用不同表單的特性。當(dāng)前表單繼承前一級(jí)審批人的審批信息,當(dāng)前審批人自動(dòng)在自己可編輯的區(qū)域內(nèi)審批,而下一級(jí)審批人的填寫區(qū)域則為空白。
為不同角色設(shè)計(jì)一套不同的界面:由于每個(gè)角色在流程中的作用不同,操作不同,關(guān)心的信息也不同。因此系統(tǒng)為每個(gè)角色定制了一套界面。如學(xué)生要為其提供一個(gè)“提交申請(qǐng)”的按鈕,用來啟動(dòng)一個(gè)工作。而審核人只要看到“審核”視圖即可。其實(shí)現(xiàn)方法是將所有功能按鈕按角色隱藏,當(dāng)用戶訪問系統(tǒng)時(shí),系統(tǒng)從數(shù)據(jù)庫中提取角色信息與當(dāng)前用戶相對(duì)照,自動(dòng)為用戶顯示相應(yīng)的按鈕。
數(shù)據(jù)均以數(shù)據(jù)表的形式存儲(chǔ)在數(shù)據(jù)庫中。比如學(xué)生離校手續(xù)流程設(shè)計(jì)的數(shù)據(jù)庫主要有:用戶表、角色表、角色用戶關(guān)系表、申請(qǐng)表、申請(qǐng)記錄表。各個(gè)表字段數(shù)據(jù)類型、字段寬度根據(jù)所存儲(chǔ)數(shù)據(jù)決定,建表使用SQL Server提供的工具構(gòu)建。用戶表用于記錄用戶的基本信息,是組織結(jié)構(gòu)中最基本的元素。用戶是活動(dòng)的執(zhí)行者,也是角色的分配對(duì)象。角色是用戶所能擁有的一組職能的代名詞,一個(gè)角色可以分配給多個(gè)用戶,同時(shí)一個(gè)用戶也可以具有多種角色。角色與用戶的多對(duì)多關(guān)系由角色用戶關(guān)系表來維護(hù)。申請(qǐng)表保存的是申請(qǐng)表的內(nèi)容,申請(qǐng)記錄表保存的的是申請(qǐng)表的狀態(tài)和審批的歷史記錄。由于申請(qǐng)表在工作流上進(jìn)行流轉(zhuǎn)時(shí)會(huì)有不同的業(yè)務(wù)狀態(tài),因此申請(qǐng)表的實(shí)例與其狀態(tài)的信息是一對(duì)多的關(guān)系。
3 結(jié)束語
工作流技術(shù)是一種不斷發(fā)展的技術(shù),今后在系統(tǒng)開發(fā)中一方面要據(jù)高校教務(wù)管理的發(fā)展,進(jìn)一步完善系統(tǒng)功能,如實(shí)現(xiàn)用戶自定義流程等;另一方面,需要不斷學(xué)習(xí)工作流技術(shù)的理論知識(shí)和實(shí)踐成果,不斷地將理論新成果引入管理系統(tǒng)開發(fā)中。
參考文獻(xiàn):
[1] 范玉順.工作流管理技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2001.
[2] 周健.WF本質(zhì)論[M].北京:機(jī)械工業(yè)出版社,2007.
[3] 支黎峰,李毅,楊新村.基于工作流和角色權(quán)限控制的科技期刊編務(wù)管理信息系統(tǒng)[J].上海電力,2006(1):72-74.