基于ASP.NET AJAX的OA系統(tǒng)設(shè)計策略
辦公自動化(Office Automation,OA)系統(tǒng),是指利用計算機技術(shù)和網(wǎng)絡(luò)技術(shù),使辦公室部分工作逐步物化于各種現(xiàn)代化設(shè)備中,由辦公室人員與設(shè)備共同構(gòu)成服務于某種目標的人機信息處理系統(tǒng)。辦公自動化已經(jīng)成為現(xiàn)代企事業(yè)單位實現(xiàn)管理現(xiàn)代化的一個重要途徑。
辦公自動化系統(tǒng)的開發(fā)技術(shù)主要分為三大類:基于C/S結(jié)構(gòu)的應用程序、結(jié)合C/S結(jié)構(gòu)和Web技術(shù)的復合應用程序、基于B/S結(jié)構(gòu)的’Web應用程序。B/S結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務邏輯在客戶機前端實現(xiàn),大部分事務邏輯在服務器端(后端)實現(xiàn),相關(guān)系統(tǒng)數(shù)據(jù)存在系統(tǒng)數(shù)據(jù)庫中,形成一個三層結(jié)構(gòu)。在網(wǎng)絡(luò)應用程序開發(fā)、配置以及軟件的移植性方面,B/S結(jié)構(gòu)比C/S結(jié)構(gòu)具有更大的優(yōu)點。
在此設(shè)計一個采用B/S結(jié)構(gòu),基于ASP.NETAJAX框架的通用辦公自動化系統(tǒng)。
1 AJAX與ASP.NET AJAX
1.1 AJAX概述
AJAX(Asynehronous JavaScript and XML)是多種技術(shù)的綜合,它打破了頁面刷新的范式,使用戶快速方便地與Web應用程序交互。
使用AJAX以后,相當于在客戶端和服務器之間加了一個中間層即AJAX引擎。AJAX提供與服務器異步通信的能力,使用戶從請求/響應的循環(huán)中解脫出來。借助AJAX,可以在用戶單擊按鈕時,使用JavaScript和DHTML立即更新用戶界面,并向服務器發(fā)出異步請求,以執(zhí)行更新或查詢數(shù)據(jù)庫。當請求返回時,就可以使用JavaScript和CSS相應地更新用戶界面,而不是刷新整個頁面。整個過程就像操作本地應用程序響應一樣,用戶甚至不知道瀏覽器正在與服務器通信。AJAX的工作原理如圖1所示。
AJAX的核心包括:
(1)基于XHTML和CSS標準的表示;
(2)使用Document Object Model進行動態(tài)顯示和交互;
(3)用XMLHttpRequest與服務器進行異步通信;
(4)使用JavaScript操作XMLHttpRequest來與數(shù)據(jù)庫進行交互。
1.2 ASP.NET AJAX概述
ASP.NET AJAX是微軟公司推出與ASP.NET緊密集成的AJAX框架。依托.NET平臺與Visual Studio的強大功能,并基于ASP.NET AJAX,可以很方便地創(chuàng)建兼容絕大多數(shù)瀏覽器的Web應用程序。
ASP.NET AJAX的核心部分包括核心AJAX類型系統(tǒng)、網(wǎng)絡(luò)協(xié)議層(Networking Stack)、組件模型、擴展器(Extender)基類以及與ASP.NET集成的服務器端功能等。
ASP.NET AJAX服務器端控件有ScriptManager,ScriptManagerProxy,UpdatePanel,Update Progress和Timer控件。
ScriptManager控件用來處理頁面上的所有組件及頁面局部更新,生成相關(guān)的客戶端代理腳本,以便能夠在JavaScript中訪問Web服務。所有需要支持ASP.NET AJAX的ASP.NET頁面上有且只能有一個ScriptManager控件。
ScriptManagerProxy控件在ASP.NET AJAX中,由于一個ASPX頁面上只能有一個ScriptManager控件,所以在有MasterPage的情況下,如果需要在MasterPage和ContentPage中引入不同的腳本時,就要在ContentPage中使用ScriptManagerProxy。
UpdatePanel控件用來創(chuàng)建局部更新Web應用程序,不用編寫任何客戶端腳本,只要在頁面上添加UpdatePanel控件和ScriptManager控件就可以自動實現(xiàn)局部更新。
UpdageProgress控件用來顯示UpdatePanel控件更新的進度信息。當頁面上有多個UpdatePanel控件時,updateProgress控件可以指定顯示某個UpdatePanel控件的更新進度。
Timer控件 設(shè)置進行異步或同步刷新頁面的時間間隔。
ASP.NET AJAX架構(gòu)大大減少了開發(fā)者所需的代碼量,提高了開發(fā)效率。這種架構(gòu)將頁面中的內(nèi)容、樣式、行為和代碼清晰地分開。典型的ASP.NETAJAX應用程序設(shè)計模式是直接在客戶端調(diào)用Web服務的,而無需通過中介層,避免了使用中介層對通信效率的影響,同時也避免了增加中介層對應用程序設(shè)計、實現(xiàn)和部署帶來的復雜性。
1.3 ASP.NET AJAX的安裝與配置
安裝Visual Studio 2008后,ASP.NET AJAX直接包含在ASP.NET 3.5框架中,如果要在安裝.NET 2.0框架上進行ASP.NET AJAX的應用開發(fā),需在ASP.NET官方網(wǎng)站下載相關(guān)組件進行安裝。
安裝ASP.NET AJAX后,在Visual Studio 2008中新建Web Site,則項目模板中會出現(xiàn)“ASP.NET網(wǎng)站”選項,選擇該項創(chuàng)建新網(wǎng)站即可。新建完成的項目中會自動在Web.config中做好相關(guān)的配置。
2 通用辦公自動化系統(tǒng)的設(shè)計
通用辦公自動化系統(tǒng)采用基于B/S結(jié)構(gòu)實現(xiàn),具有簡單,操作方便,易于使用的特點,且可以顯著降低維護費用;整個系統(tǒng)采用模塊化設(shè)計與實現(xiàn),使系統(tǒng)具有很強的穩(wěn)定性、可擴充等性能。系統(tǒng)主要包括3大模塊,如圖2所示。
評論