目前,在提供商業應用方面,IT行業對Web系統的依賴程度越來越高。Web浏覽器雖然一直是向遠程用戶提供軟件的一種理想的廉價方式,但它們並不能像桌面應用那樣提供豐富的客戶端功能。而通過AJax(異步JavaScript及XML)則可以實現豐富的客戶端交互能力和實時數據微量更新(micro-update),並且不需要使用任何一種私有的專用插件。
AJax是一種使用多數浏覽器內建工具的web開發技術,它包含三個組成部分,即用於計算的JavaScript(即ECMA Script)、用於表示的動態Html和用於客戶端/服務器通信的XML HTTP。
AJax的關鍵組件是XML HTTP。當它被下載至客戶端浏覽器後,便可以迅速實現Web頁面與服務器之間的通信,而不用像傳統基於頁面的模型那樣,在進行客戶端與服務器的信息通信時必須重新加載整個Web頁面。
這看起來雖然很簡單,但卻為Web應用開發人員打開了一扇塵封已久的大門。除了浏覽器內建的組件外,它不需要依賴其他的任何東西。由於有些企業特別關注用戶安裝軟件時可能產生的安全和後勤保障問題,而AJax不需要向用戶發布任何軟件,因此也引起了這類企業的極大興趣。
傳統的Web應用架構(有時被稱為Postback模型)的效率是很低的,因為它浪費了大量的通信帶寬。當用戶每次點擊超級鏈接時,都會出現一次Postback(即重新加載)整個Web頁面。而事實上,重新加載所有這些項目可能完全沒有必要,也許只需要從數據庫中調出很小的一段文本就能解決問題。
利用XML HTTP和JavaScript,開發人員可以通過異步方式向服務器請求一個區塊的信息,而無需重新加載整個頁面。這樣就使Web應用能夠更快地對用戶的互動行為做出反應。
假設一位用戶可能需要通過網頁查看某位客戶的詳情。在傳統的Web應用中,這位用戶必須在點擊後等待網頁刷新,只有在這一步完成之後,用戶才能看到客戶的詳細情況。但在AJax模型中,用戶只需點擊客戶的姓名就可以立即從服務器上檢索到客戶的數據,然後這些數據便會直接顯示在Web頁面上。
XML HTTP也可以解決傳統基於頁面的應用模型中存在的數據實時性問題。當包含某些數據的Web頁面被下載至浏覽器後,這些數據將會被認為是過時的內容。浏覽器根本不可能知道服務器上的數據是否已經改變,或者是否仍然精確。如果當某項Web應用同時擁有多個用戶時,這個問題就顯得更加突出。而如果使用了AJax,就可以在用戶使用數據之前對其進行檢查,避免上述問題的發生。
目前,所有主要的浏覽器平台都支持AJax,其中包括Internet Explorer、Mozilla Firefox、Netscape、Opera和Safari。還有很多開發工作都在努力實現XML HTTP的標准化。在去年,3W聯盟組建了一個Web API工作組,專門從事HTTP功能(部分涉及AJAX)的規范開發工作。正是由於IT業界對AJax的廣泛支持,該小組才會對規范的制訂工作如此重視。
通過執行有目標的信息更新(或者稱為微量更新),就足以大幅度降低網絡負載,並且可以與實時數據實現更快的互動與交流。我們可以通過計算總的傳輸字節數、總下載時間和完成某一任務時每秒可以執行多少個步驟來計量這種方式帶來的好處。
AJax的作用已經開始變得日益重要而且更加明顯,它在Google Map和Salesforce.com等重量級應用以及一些大型和小型企業中都已得到使用。它的快速增長表明企業構建未來Web應用的方式正在發生深刻地變革。