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