基于A(yíng)SP.NET AJAX的OA系統設計策略
辦公自動(dòng)化(Office Automation,OA)系統,是指利用計算機技術(shù)和網(wǎng)絡(luò )技術(shù),使辦公室部分工作逐步物化于各種現代化設備中,由辦公室人員與設備共同構成服務(wù)于某種目標的人機信息處理系統。辦公自動(dòng)化已經(jīng)成為現代企事業(yè)單位實(shí)現管理現代化的一個(gè)重要途徑。
辦公自動(dòng)化系統的開(kāi)發(fā)技術(shù)主要分為三大類(lèi):基于C/S結構的應用程序、結合C/S結構和Web技術(shù)的復合應用程序、基于B/S結構的’Web應用程序。B/S結構下,用戶(hù)界面完全通過(guò)WWW瀏覽器實(shí)現,一部分事務(wù)邏輯在客戶(hù)機前端實(shí)現,大部分事務(wù)邏輯在服務(wù)器端(后端)實(shí)現,相關(guān)系統數據存在系統數據庫中,形成一個(gè)三層結構。在網(wǎng)絡(luò )應用程序開(kāi)發(fā)、配置以及軟件的移植性方面,B/S結構比C/S結構具有更大的優(yōu)點(diǎn)。
在此設計一個(gè)采用B/S結構,基于ASP.NETAJAX框架的通用辦公自動(dòng)化系統。
1 AJAX與ASP.NET AJAX
1.1 AJAX概述
AJAX(Asynehronous JavaScript and XML)是多種技術(shù)的綜合,它打破了頁(yè)面刷新的范式,使用戶(hù)快速方便地與Web應用程序交互。
使用AJAX以后,相當于在客戶(hù)端和服務(wù)器之間加了一個(gè)中間層即AJAX引擎。AJAX提供與服務(wù)器異步通信的能力,使用戶(hù)從請求/響應的循環(huán)中解脫出來(lái)。借助AJAX,可以在用戶(hù)單擊按鈕時(shí),使用JavaScript和DHTML立即更新用戶(hù)界面,并向服務(wù)器發(fā)出異步請求,以執行更新或查詢(xún)數據庫。當請求返回時(shí),就可以使用JavaScript和CSS相應地更新用戶(hù)界面,而不是刷新整個(gè)頁(yè)面。整個(gè)過(guò)程就像操作本地應用程序響應一樣,用戶(hù)甚至不知道瀏覽器正在與服務(wù)器通信。AJAX的工作原理如圖1所示。

AJAX的核心包括:
(1)基于XHTML和CSS標準的表示;
(2)使用Document Object Model進(jìn)行動(dòng)態(tài)顯示和交互;
(3)用XMLHttpRequest與服務(wù)器進(jìn)行異步通信;
(4)使用JavaScript操作XMLHttpRequest來(lái)與數據庫進(jìn)行交互。
1.2 ASP.NET AJAX概述
ASP.NET AJAX是微軟公司推出與ASP.NET緊密集成的AJAX框架。依托.NET平臺與Visual Studio的強大功能,并基于A(yíng)SP.NET AJAX,可以很方便地創(chuàng )建兼容絕大多數瀏覽器的Web應用程序。
ASP.NET AJAX的核心部分包括核心AJAX類(lèi)型系統、網(wǎng)絡(luò )協(xié)議層(Networking Stack)、組件模型、擴展器(Extender)基類(lèi)以及與ASP.NET集成的服務(wù)器端功能等。
ASP.NET AJAX服務(wù)器端控件有ScriptManager,ScriptManagerProxy,UpdatePanel,Update Progress和Timer控件。
ScriptManager控件用來(lái)處理頁(yè)面上的所有組件及頁(yè)面局部更新,生成相關(guān)的客戶(hù)端代理腳本,以便能夠在JavaScript中訪(fǎng)問(wèn)Web服務(wù)。所有需要支持ASP.NET AJAX的ASP.NET頁(yè)面上有且只能有一個(gè)ScriptManager控件。
ScriptManagerProxy控件在A(yíng)SP.NET AJAX中,由于一個(gè)ASPX頁(yè)面上只能有一個(gè)ScriptManager控件,所以在有MasterPage的情況下,如果需要在MasterPage和ContentPage中引入不同的腳本時(shí),就要在ContentPage中使用ScriptManagerProxy。
UpdatePanel控件用來(lái)創(chuàng )建局部更新Web應用程序,不用編寫(xiě)任何客戶(hù)端腳本,只要在頁(yè)面上添加UpdatePanel控件和ScriptManager控件就可以自動(dòng)實(shí)現局部更新。
UpdageProgress控件用來(lái)顯示UpdatePanel控件更新的進(jìn)度信息。當頁(yè)面上有多個(gè)UpdatePanel控件時(shí),updateProgress控件可以指定顯示某個(gè)UpdatePanel控件的更新進(jìn)度。
Timer控件 設置進(jìn)行異步或同步刷新頁(yè)面的時(shí)間間隔。
ASP.NET AJAX架構大大減少了開(kāi)發(fā)者所需的代碼量,提高了開(kāi)發(fā)效率。這種架構將頁(yè)面中的內容、樣式、行為和代碼清晰地分開(kāi)。典型的ASP.NETAJAX應用程序設計模式是直接在客戶(hù)端調用Web服務(wù)的,而無(wú)需通過(guò)中介層,避免了使用中介層對通信效率的影響,同時(shí)也避免了增加中介層對應用程序設計、實(shí)現和部署帶來(lái)的復雜性。
1.3 ASP.NET AJAX的安裝與配置
安裝Visual Studio 2008后,ASP.NET AJAX直接包含在A(yíng)SP.NET 3.5框架中,如果要在安裝.NET 2.0框架上進(jìn)行ASP.NET AJAX的應用開(kāi)發(fā),需在A(yíng)SP.NET官方網(wǎng)站下載相關(guān)組件進(jìn)行安裝。
安裝ASP.NET AJAX后,在Visual Studio 2008中新建Web Site,則項目模板中會(huì )出現“ASP.NET網(wǎng)站”選項,選擇該項創(chuàng )建新網(wǎng)站即可。新建完成的項目中會(huì )自動(dòng)在Web.config中做好相關(guān)的配置。
2 通用辦公自動(dòng)化系統的設計
通用辦公自動(dòng)化系統采用基于B/S結構實(shí)現,具有簡(jiǎn)單,操作方便,易于使用的特點(diǎn),且可以顯著(zhù)降低維護費用;整個(gè)系統采用模塊化設計與實(shí)現,使系統具有很強的穩定性、可擴充等性能。系統主要包括3大模塊,如圖2所示。

評論