錢維平,王 堅
(同濟大學(xué) CIMS 研究中心,上海 201804)
Windows Workflow Foundation(WF)是關(guān)于工作流的架構(gòu),它提供了可視化的界面工具,并且支持在ASP.NET 應(yīng)用程序中直接執(zhí)行工作流[1]。這些優(yōu)點使得開發(fā)者可以在WF 中建模并定義規(guī)則來描述系統(tǒng)的處理過程,從而能夠有效地實現(xiàn)業(yè)務(wù)的自動化處理。
本文以企業(yè)日常工作管理系統(tǒng)為例,以ASP.NET為開發(fā)平臺,通過分析工作業(yè)務(wù)處理過程中所要經(jīng)歷的步驟,然后在WF 工作流的設(shè)計平臺下使用工作流模型模擬相關(guān)業(yè)務(wù)的處理過程,從而有效地解決了傳統(tǒng)日常工作管理系統(tǒng)由于流程變化所帶來的許多問題。
本系統(tǒng)采用的是基于MVC 的三層體系架構(gòu)。它將整個系統(tǒng)業(yè)務(wù)的處理按照Model(模型)、View(視圖)、Controller(控制器)的方式進行分離,三個核心部件處理各自的任務(wù)[2]。MVC 三層體系架構(gòu)設(shè)計模式如圖1 所示。

圖1 MVC 三層體系架構(gòu)設(shè)計模式Fig.1 MVC three-layer architecture design pattern
模型封裝了系統(tǒng)數(shù)據(jù)庫中的字段及相應(yīng)的業(yè)務(wù)規(guī)則和邏輯關(guān)系,并包含了數(shù)據(jù)驗證等相關(guān)的業(yè)務(wù)操作。
視圖代表用戶交互界面,如本系統(tǒng)中發(fā)布人發(fā)布工作頁面等,視圖頁沒有任何邏輯代碼,用于將用戶動作傳遞給控制器,并以可視化界面的形式將相應(yīng)模型中的數(shù)據(jù)顯示出來[3]。
控制器將數(shù)據(jù)發(fā)送給模型,執(zhí)行模型中的操作,最后呈現(xiàn)合適的工作管理系統(tǒng)頁面。
本系統(tǒng)需建立日常工作數(shù)據(jù)庫(DailyWork)和持久化服務(wù)數(shù)據(jù)庫(WorkflowPersistence)。日常工作數(shù)據(jù)庫(DailyWork)用來存儲和管理系統(tǒng)中的數(shù)據(jù),該數(shù)據(jù)庫中有總公司日常工作記錄表、子公司日常工作記錄表、企業(yè)信息表以及企業(yè)職員信息表。……