劉彥姝 李志勇 易 燦



[摘 要]基于WebForm的工作流系統是采用MVC設計模式,數據存儲介質為SQL Server2000和XML文件,在DOTNET環境下開發的B/S系統,從軟件工程的角度對系統的設計和實現進行介紹。
[關鍵詞]WebForm 業務流 系統設計
[中圖分類號]TP309[文獻標識碼]A[文章編號]1007-9416(2009)11-0023-03
1 系統功能與結構分析
作為一個完整的基于WebForm的工作流系統,主要包含以下幾個功能模塊:表單管理、流程管理、工作管理和人員管理。其中,表單管理主要負責工作流表單的維護和更新以及多個模板的設計;流程管理主要負責工作流過程定義和流程變更的維護工作;人員管理主要負責公司組織機構的信息維護,包括單位信息、部門信息、角色權限、員工信息等;工作管理主要負責工作的創建、辦理、查詢、監控等。系統功能結構圖如圖1所示。
在圖1中,系統的四個功能模塊,包括子模塊是相互協作來工作的。
在角色層,最重要的是設置每種角色在工作流系統中的參與權限,以方便系統管理和權責明確,本系統定義了嚴格細致的權限。通過人員管理,流程定義便可根據具體需要選取流程監控角色和活動執行角色。
2 系統用例分析
本系統的參與者主要有四種:高級管理員、管理人員、工作人員和工作流引擎。高級管理員主要負責系統設置以及管理人員、工作人員的權限分配;管理人員主要負責各個流程工作環境的搭建和資源配給,按照不同的權限可分為信息管理員、表單管理員、流程管理員和工作管理員;工作人員按照具體的流程操作權限共同協作來完成各項具體工作;流程引擎負責流程的啟動和路由,協同工作人員工作。系統的用例圖如圖2所示。
3 系統組織結構與類描述
DOTNET提出了用戶控件的概念,在系統開發過程中,可以把一些通用的頁面模板做成用戶控件,使用時只需引用到主頁面即可。用戶控件的引入,不但大大提高了軟件開發效率和代碼的復用性,也大大方便了系統功能的擴展。
在系統中,用戶界面層套用框架和用戶控件;業務邏輯層按照系統功能模塊進行打包,向外提供各類操作接口;數據訪問層按照面向對象的思想組織實體,與數據庫和XML文件進行合理的映射。系統的組織結構圖如圖3所示。
從圖3可以看到,當一個頁面請求到來時,首先被事件監測器捕獲,事件監測器根據請求類型和內容調用相應的業務邏輯接口,最后對頁面請求作出應答。各個層次的具體類實現如圖4所示。
從圖4中可以清楚地看到系統的模塊劃分,每個模塊都是高內聚低耦合的。在DOTNET機制下,頁面請求業務邏輯必須經由控制器(事件監測器)。每個模塊的邏輯實現類對外提供訪問接口,圖中僅列出了部分類方法。邏輯實現類與數據存儲媒體之間的交互必須通過數據訪問類,數據訪問類調用統一的數據訪問接口,在這里可以處理所有的SQL語句、存儲過程和事務等。通過數據訪問類進行數據查詢時,返回的不是數據集,而是實體對象,同樣,外部傳遞給數據訪問類的參數也是實體對象。實體與數據存儲媒體或流程控制信息存在映射關系,比如流程處理過程中,活動對應Action實體,數據域對應Field實體;實體之間也存在相互映射關系。
4 本系統的評議與改進
本系統是一個基于WebForm的工作流系統,它整合了Web智能表單設計器和流程定義工具,可以很方便地設計表單和定義流程。由于這兩個部件是相對獨立的,所以可以很方便地重用到其他相關系統中,比如,Web智能表單設計器可以集成到辦公軟件中,讓辦公人員自己來設計業務表單。由于過程定義工具采用可視化的流程定義,并且自動生成的過程定義文件遵循WFMC制定的XPDL規范,所以可以方便地與一些遵循WFMC規范的工作流系統進行集成,生成的過程定義文檔也具有很強的通用性,最可貴的是,它是純Web方式的,不需要用戶安裝任何插件即可輕松完成流程定義。
當然,本系統不可避免的具有一些局限性和不完備性。主要表現在以下方面:
(1)本系統是基于WebForm的,它的主要操作對象是WebForm,并沒有提供訪問外部資源的接口;
(2)目前Web智能表單設計器只提供單行文本框、多行文本框、單選框和下拉列表四種客戶端控件,雖然足以滿足一般業務表單的需求,但是由于沒有提供特定用途的控件,往往對用戶輸入的信息格式需要進行復雜的有效性校驗,比如日期的輸入等,所以設計器有必要對客戶端控件類型進行擴充;
(3)在過程定義工具中,設定轉移條件只能根據表單字段的輸入值,而不能通過時間觸發或事件觸發的方式來驅動轉移。
[參考文獻]
[1] 李維.面向對象實踐之路(C#版),電子工業出版社,2005-03-01.
[2] Christian Thilmany [譯]張曉昆,湯濤,譚立平.NET模式:架構、設計與過程,中國電力出版社,2005.6.
[3] [美] Eric Bell,Hao"Howard"Feng,Edward L.W.Soong等?[譯]夏江,用.NET和XML構建WEB應用程序,清華大學出版社,2003.9.
[4] 曾月,范玉順.工作流管理技術Web客戶端的設計與實現[J].計算機工程與應用,2002,38(2):130-133
[作者簡介]
劉彥姝(1976-) 湖南大眾傳媒職業技術學院,副教授。
[基金項目]
湖南省教育廳科學研究項目,基于Web表單的工作流關鍵技術研究。