王玉娟,徐繞山
南京信息職業(yè)技術學院,江蘇 南京 210046
軟件開發(fā)在前幾年進行了C/S方式到B/S方式的轉變,B/S方式的優(yōu)點明顯,然而也存在著不足之處,主要表現在以下幾個方面:
1)網絡帶寬問題。這個問題在局域網應用不存在,但在廣域網下就可能是問題。但隨著互聯(lián)網的高速發(fā)展和https技術的廣泛應用,這個問題應該是越來越小,反之C/S方式在廣域條件下應用,是更麻煩的事情,如果不配置VPN,就要去用程序做數據同步。
2)服務器負載。實際上隨著集群技術的應用和PC Server價格的不斷降低,這個問題也不是問題,并且如果用戶數真的很多,可能B/S反而好做一點,而C/S并不能直接用DB SERVER支撐大用戶量,而是還需要一個中間的應用服務層,即C/S/S架構才能支持。
3)用戶易用性。這個才是很多用戶權衡時考慮的重點。在一般概念中,B/S的界面遠遠比C/S的界面用起來不方便。
而Ajax技術就解決了B/S方式所遇到的困難,它使得用戶可以在瀏覽器中像在桌面軟件上一樣輕松、方便地操作,而且不需要安裝插件、控件之類的東西,使得Web應用的優(yōu)勢充分發(fā)揮出來。
目前,Ajax已經成為web應用的主流開發(fā)技術,大量的業(yè)界巨頭已經采納并且在大力推動這個技術的發(fā)展。例如,IBM、Oracle、Yahoo等業(yè)界領先的公司啟動了Open Ajax項目,致力于為Ajax開發(fā)建造先進強大的開發(fā)工具;微軟開發(fā)了自己的Ajax框架Altas,用于和服務器端的ASP.NET框架配合工作;Sun公司也將Ajax技術列入J2EE的藍圖中,作為J2EE技術的有益補充。然而與任何新生技術一樣,Ajax在某些方面可能犯錯誤。
1)XMLHttpRequest的有效性
XMLHttpRequest是Ajax的最核心技術,開發(fā)者面對的一個最大問題是當XMLHttpRequest不可用時如何反應。雖然大部分現代瀏覽器支持XMLHttpRequest,但還是有少量的用戶,他們的瀏覽器不能支持,或由于瀏覽器安全設置而阻止對XMLHttpRequest的使用。
2)可用性考慮
圍繞著Ajax應用的大部分問題都是很普通的問題。例如,讓用戶知道他們的輸入已經被注冊并處理,是很重要的,因為在XMLHttpRequest處理過程中并不能提供通常的漏斗旋轉光標。另一個問題是,用戶可能沒有注意到他們正在觀看的頁面已經被更新??梢酝ㄟ^使用各種視覺技巧來將用戶的眼光吸引到頁面的更新區(qū)域。還有一個問題是通過Ajax更新頁面打斷了瀏覽器“退回前頁”按鈕的正常工作,地址欄中的URL不能反映頁面的全部狀態(tài),并且不能使用書簽功能。
3)服務器負載
使用Ajax界面代替?zhèn)鹘y(tǒng)的基于form的界面可能戲劇性地增加傳遞到服務器的請求數量。例如,一個普通的Google搜索給服務器造成一次命中,并在用戶確認搜索表單時發(fā)生。然而,Google Suggest,將會試圖自動完成你的搜索詞,在用戶打字時將會往服務器發(fā)送多個請求。
4)處理異步
沒有任何東西可以保證XMLHttpRequest將會按照它們被發(fā)送的順序來依次結束。實際上,在設計系統(tǒng)時,應該始終假定它們不會按原來順序結束,此時應考慮該如何處理異步服務器響應。
總之,從目前來看,Ajax的應用還不是很成熟。
本文針對Ajax應用中的服務器負載加重,異步通信的無序性和XMLHttpRequest可用性等問題給出了解決方法。
1)XMLHttpRequest的有效性
解決XMLHttpRequest的有效性首先使用“窮舉法”適應不同的瀏覽器。對于當今流行的瀏覽器如IE、Navigator、Firefox等新近版本都對XMLHttpRequest提供了支持。
雖然大部分現代瀏覽器支持XMLHttpRequest,但還是有少量的用戶的瀏覽器不能支持,或由于瀏覽器安全設置而阻止對XMLHttpRequest的使用。所以,可以采用對特殊應用環(huán)境的“正常降級”使用,保證應用系統(tǒng)能正常運行,在系統(tǒng)中保留適用于不支持XMLHttpRequest的瀏覽器的功能。
解決方法之一是設置當瀏覽器不支持XMLHttpRequest時,可以進行常規(guī)的提交處理,并執(zhí)行頁面的整體刷新來反映狀態(tài)的變化。Ajax的行為可以在頁面被載入時通過JavaScript添加到頁面中,只在XMLHttpRequest可用的情況下,為操作綁定JavaScript處理函數。另一個方法是在用戶登錄時檢測XMLHttpRequest是否可用,再決定是提供Ajax版本還是常規(guī)基于form提交的版本。
2)服務器負載
使用Ajax界面代替?zhèn)鹘y(tǒng)的基于客戶端表單元素的界面根據用戶的操作,使頁面局部刷新而不是整個頁面重新載入,可能產生急劇地增加傳遞到服務器的請求數量。會造成服務器負載過重。例如,Google Suggest,將會試圖自動完成你的搜索詞,在用戶打字時將會往服務器發(fā)送多個請求。
解決方法可以從兩個方面考慮,即減少網絡流量和減少服
2)以交換式集線器代替共享式集線器的方式將不失為解除隱患的又一方法。
強化計算機管理是網絡系統(tǒng)安全的保證,加強設施管理,確保計算機網絡系統(tǒng)實體安全;強化訪問控制,力促計算機網絡系統(tǒng)運行正常。
訪問控制是網絡安全防范和保護的主要措施,它的任務是保證網絡資源不被非法用戶使用和非常訪問,是網絡安全最重要的核心策略之一。
第一,建立入網訪問功能模塊。入網訪問控制為網絡提供了第一層訪問控制。用戶的入網訪問控制可分為3個過程:用戶名的識別與驗證;用戶口令的識別與驗證;用戶帳號的檢查。在3個過程中,如果其中一個不能成立,系統(tǒng)就視為非法用戶,則不能訪問該網絡。
第二,建立網絡的權限控制模塊。
第三,建立屬性安全服務模塊。屬性安全控制可以將給定的屬性與網絡服務器的文件、目錄和網絡設備聯(lián)系起來。屬性安全在權限安全的基礎上提供更進一步的安全性。網絡屬性可以控制以下幾個方面的權限:向某個文件寫數據、拷貝一個文件、刪除目錄或文件的查看、執(zhí)行、隱含、共享及系統(tǒng)屬性等,還可以保護重要的目錄和文件,防止用戶對目錄和文件的誤刪除、執(zhí)行修改、顯示等。
第四,建立網絡服務器安全設置模塊。網絡服務器的安全控制包括設置口令鎖定服務器控制臺;設置服務器登錄時間限制、非法訪問者檢測和關閉的時間間隔;安裝非法防問設備等。安裝非法防問裝置最有效的設施是安裝防火墻。它是一個用以阻止網絡中非法用戶訪問某個網絡的屏障,也是控制進、出兩個方向通信的門檻。
第五,建立檔案信息加密制度。
第六,建立網絡智能型日志系統(tǒng)。日志系統(tǒng)具有綜合性數據記錄功能和自動分類檢索能力。在該系統(tǒng)中,日志將記錄自某用戶登錄時起,到其退出系統(tǒng)時止,這所執(zhí)行的所有操作,包括登錄失敗操作,對數據庫的操作及系統(tǒng)功能的使用。日志所記錄的內容有執(zhí)行某操作的用戶保執(zhí)行操作的機器IP地址、操作類型、操作對象及操作執(zhí)行時間等,以備日后審計核查之用。
第七,建立完善的備份及恢復機制。為了防止存儲設備的異常損壞,可采用由熱插拔SCSI硬盤所組成的磁盤容錯陣列,以RAID5的方式進行系統(tǒng)的實時熱備份。同時,建立強大的數據庫觸發(fā)器和恢復重要數據的操作以及更新任務,確保在任何情況下使重要數據均能最大限度地得到恢復。
第八,建立安全管理機構。安全管理機構的健全與否,直接關系到一個計算機系統(tǒng)的安全。其管理機構由安全、審計、系統(tǒng)分析、軟硬件、通信、保安等有關人員組成。
隨著互聯(lián)網的飛速發(fā)展,網絡安全逐漸成為一個潛在的巨大問題。網絡安全性是一個涉及面很廣泛的問題,其中也會涉及到是否構成犯罪行為的問題。在其最簡單的形式中,它主要關心的是確保無關人員不能讀取,更不能修改傳送給其他接收者的信息。此時,它關心的對象是那些無權使用,但卻試圖獲得遠程服務的人。安全性也處理合法消息被截獲和重播的問題,以及發(fā)送者是否曾發(fā)送過該條消息的問題。