1、由C/S到B/S的發展
軟體開發,在前幾年出現的一個重要革命,就是由C/S方式到B/S方式的轉變。
B/S方式的優點,最直接的就是體現在部署、分發上面,不再需要在每個客戶機上安裝,不再需要不斷到客戶機上升級,也不再需要支援由於客戶機環境帶來的種種問題。可以說,B/S的模式,使得應用軟體系統隨需應變的能力大大提高。同時,B/S應用使得基於廣域網路的應用變得非常簡單,並且基於互連網和https協議就可以達到足夠的安全性(遠比C/S方式所需要的VPN或WAN要簡單得多)。
比如說,典型的ERP系統,即使只有100個使用者,由於系統經常要升級,所以使用C/S也不勝其煩。而筆者曾經主持過一個全國性的系統,涉及上萬家使用者。可以想象,如果是C/S應用,會多少麻煩。
2、B/S方式遇到的困難
B/S方式的優點明顯,但還是有很多時候使用者不願意換到B/S方式,主要的困難是下面幾個方面:
1) 網路頻寬問題:這個問題在區域網路應用不存在,但在廣域網路下就可能是問題。但隨著互連網的高速發展和https技術的廣泛應用,這個問題應該是越來越小,反之C/S方式在廣域條件下應用,是更麻煩的事情,如果不配置VPN,就要去用程式做資料同步。
2) 伺服器負載:但實際上隨著叢集技術的應用和PC SERVER價格的不斷降低,這個問題也不是問題。並且如果使用者數真的很多,可能B/S反而好做一點,而C/S並不能直接用DB SERVER支撐大使用者量,而是還需要一個中間的應用服務層,即C/S/S架構才能支援。
3) 使用者易用性:這個才是很多使用者權衡時考慮的重點。在一般概念中,B/S的介面遠遠比C/S的介面用起來不方便。
3、Ajax技術的意義:
知道了B/S方式的困難,我們就清楚了Ajax技術的意義(相關文章:什麼是Ajax技術),它使得使用者可以在瀏覽器中象在案頭軟體上一樣輕鬆、方便地操作,而且不需要安裝外掛程式、控制項之類的東西。
我們可以看一下這個例子:基於Ajax的一個執行個體。如果不說,很容易會認為這是一個C/S程式的介面。但實際上它是基於Ajax技術的一個B/S應用。
可見,有了Ajax技術,就可以使得B/S應用象C/S應用一樣好用,解決了阻礙B/S應用取代C/S的最後一塊石頭,使得Web應用的優勢充分發揮出來,從而使這場革命最終完成。就象圖形介面最終取代文本介面一樣,對Ajax的作用一定不能低估,它必然成為未來應用開發的一個主流。
4、Ajax技術的展望:
現在,Ajax技術還是一個新興事物。應該說,拿Ajax技術開發,本身技術上已經不是什麼問題,主要問題在於Ajax技術還不普及,掌握Ajax技術還有不小的困難,用Ajax開發還遠不如做個JSP,ASP一樣方便。然而,既然有需求出現,就會有人來提供相應的產品、相應的解決方案,目前已經有了一些基於Ajax技術的開發構件、開發平台出現,不論在.NET下,還是在Java環境下,都有這類產品可以協助使用者很輕鬆地搭建基於Ajax技術的富用戶端應用(或者要富網際網路應用RIA),從而使使用者可以很輕鬆地開發出基於Ajax技術的Web應用,就象過去用成熟控制項開發C/S應用一樣。因此,Ajax技術的應用,應該會有一個飛速的發展。