摘要:傳統的管理信息系統技術應用已經十分廣泛,它很好的實現了企業的業務邏輯,滿足了單一用戶處理單一任務的應用需求,但是對于單用戶多任務的需求和企業的業務流程控制卻難有一個好的解決方案。該文結合WF技術、Web服務技術,根據企業協同辦公需要,給出了一種以工作流為基礎的管理信息系統實現的解決方案。
關鍵詞:WF;Web服務;工作流管理信息系統
中圖分類號:TP335文獻標識碼:A文章編號:1009-3044(2010)03-569-02
Application of Workflow MIS Based on Web Services and WF
HUANG Xin-xing, ZHOU Feng-xing
(Engineering Research Center of Metallurgical Automation and Measurement Technology Ministry of Education, Wuhan University of Science and Technology, Wuhan 430081, China)
Abstract:Traditional MIS technology which finely constructed the Business Logic Process and met the demands of single-user and single-task are widely used in their applications, but it can't give a good solution for single-user and multitask and the control of business flows. This paper introduces a method for building an Workflow MIS based on Workflow technology combining with WF technology and Web Services.
Key words: WF; web services; workflow MIS
隨著現代計算機及網絡通訊技術的發展,企業的信息化建設正在逐步完善,企業對信息管理軟件的要求也越來越高。企業的業務都是由不同環節的業務流程組成,用戶既希望軟件系統能解決獨立環節的業務問題,也需要將一項工作分為不同階段由不同的人來協作完成,即在各自為政的同時達到協同辦公。這一需求促使了工作流技術與管理信息系統的結合。該文在分析和研究了基于Web服務的工作流技術后,以WF為工作流引擎,ASP.NET框架作為Web宿主應用的開發平臺,提出了一個基于WF的ASP.NET的Web應用架構。
1 基于Web服務的工作流技術
1.1 Web服務
Web Services技術是一種新的面向服務的體系架構,它主要以XML和開放的Web規范技術為基礎,采用對象/組件技術、使用標準的Internet協議,封裝了業務實現的細節,將與業務相關的應用編程接口發布到網絡上,而網絡上的其他用戶通過一定的協議就可以調用這些接口來實現自己的業務的一部分,有效地共享了資源,提高了開發效率。
Web服務的核心技術有:1) 可擴展的標記語言(XML)是Web service平臺中表示數據的基本格式。除了易于建立和易于分析外,XML主要的優點在于它既是平臺無關的,又是廠商無關的。2) 簡單對象訪問協議(SOAP)提供了標準的RPC方法來調用Web service。3) Web service描述語言(WSDL)是一個基于XML的語言,用于描述Web service及其函數、參數和返回值。
1.2 基于Web服務的工作流模型框架
傳統的工作流管理系統的體系結構模型,包括過程定義工具、過程定義、工作流執行服務、工作引擎、工作流控制數據、工作流相關數據、工作表和工作表處理程序、應用程序和應用數據等。圖1所示為以Web服務作為底層通信結構的工作里管理系統模型。該系統模型與傳統的工作流管理系統模型相比,企業內部所有應用功能都是以Web服務的方式提供,其中工作流過程定義采用了基于XML的過程定義語言,而工作流引擎采用SOAP協議來實現工作流引擎和Web服務之間的交互。
2 WF介紹
WF是微軟公司免費提供的Windows應用程序的標準工作流框架。WF提供了實現用戶界面的方法,應用程序和服務之間通信的方法。它是可聲明、可視化且無限靈活的,其倡導的模型可以清晰地將工作內容和工作時間分隔開來,這種分隔允許改變工作流模型(工作時間),而不會影響到工作內容。它還可將業務邏輯實現為一組獨立并且可測試的組件,它們能像構建塊一樣裝配到工作流中。針對ASP.NET 應用程序可以同時為多個同步的用戶提供服務的應用環境,WF提供卸載工作流實例的SQL Workflow Persistence Service服務來有效地利用可用的系統內存,同時還提供Manual Workflow Scheduler Service服務以便同步運行工作流以使ASP.NET Web窗體能夠將工作流狀態信息返回給用戶。
3 系統實現
3.1 開發環境及解決方案
系統的終端用戶通過系統提供的統一界面登陸系統。在經過身份驗證正確無誤后,用戶與ASP.NET的Web服務器進行交互性操作。Web服務器在接收到來自外界的操作后,啟動WF引擎中相應的業務流程,由WF引擎負責管理業務流程的執行,并可以通過系統內部的Web服務來訪問數據庫,更新流程運行的狀態。
該系統設計為B/S結構,使用ASP.NET、WF、SQL server和VS.NET為主要開發工具。用戶使用瀏覽器即可進行數據維護、信息瀏覽、業務流程的處理等。
3.2 系統架構設計
該系統采用了典型的四層結構,將系統分為用戶界面層、業務邏輯層、數據訪問層、數據庫存儲(如圖2所示)。從瀏覽器到業務邏輯層,再到數據訪問層是逐層調用的關系并將處理結果原路返回。
3.3 在ASP.NET中使用WF工作流
首先,在Application_Start事件中創建WorkflowRuntime實例和添加ManualWorkflowSchedulerService。然后,通過使用StartRuntime方法啟動運行時,并將 WorkflowRuntime實例保存到ASP.NET提供的 Application 對象中。 在以后對應用程序Web頁的請求中,通過檢索這個WorkflowRuntime實例以啟動工作流。
using System.Workflow.Runtime;
using System.Workflow.Runtime.Hosting;
void Application_Start(object sender, EventArgs e)
{WorkflowRuntime wfr = new WorkflowRuntime();
ManualWorkflowSchedulerService mwfss = new ManualWorkflowSchedulerService();
wfr.AddService(mwfss );
wfr.StartRuntime();
Application[\"WorkflowRuntime\"] = wfr;}
4 結束語
該文通過引入Web服務技術和工作流技術實現的工作流管理信息系統,具有高度自動化、協作化的優點,在跨平臺方面獨具優勢。可以很好地解決企業辦公自動化的要求。
參考文獻:
[1] 湯自安.基于Web Services的工作流在SOA中的應用研究[J].電腦開發與應用,2009(8):57-60.
[2] 張迎春.面向大型企業應用的OA子系統研究與實現[J].計算機工程與設計,2009,30(11).
[3] 楊琦偉.人員培訓工作流系統的設計與實現[D].武漢:華中科技大學,2006:18-20.