C/S架構是常用的兩層架構,通常也稱之為客戶端/服務器架構。服務器運行服務端程序,客戶端安裝客戶端軟件。在此架構里服務端和客戶端分別完成不同的任務,客戶端處理用戶的前端界面和交互操作,服務端處理后臺業務邏輯和請求數據,這使得兩端的通訊速度和通訊的效率大大的提高。服務器通常采用高性能的PC、工作站或小型機,并采用大型數據庫系統,如Oracle、Sybase、Informix或SQLServer??蛻舳诵枰惭b專用的客戶端軟件。
C/S的優點是能充分發揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務器。對應的優點就是客戶端響應速度快。缺點主要有以下幾個:
而隨著互聯網的飛速發展,移動辦公和分布式辦公越來越普及,這需要我們的系統具有擴展性。這種方式遠程訪問需要專門的技術,同時要對系統進行專門的設計來處理分布式的數據。
客戶端需要安裝專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一臺電腦出問題,如病毒、硬件損壞,都需要進行安裝或維護。特別是有很多分部或專賣店的情況,不是工作量的問題,而是路程的問題。還有,系統軟件升級時,每一臺客戶機需要重新安裝,其維護和升級成本非常高。
對客戶端的操作系統一般也會有限制??赡苓m應于Win98,但不能用于win2000或WindowsXP?;蛘卟贿m用于微軟新的操作系統等等,更不用說Linux、Unix等。
Client/Server是建立在局域網的基礎上的。Browser/Server是建立在廣域網的基礎上的。
1.硬件環境不同:C/S一般建立在專用的網絡上,小范圍里的網絡環境,局域網之間再通過專門服務器提供連接和數據交換服務。B/S建立在廣域網之上的,不必是專門的網絡硬件環境。例如電話上網,租用設備,信息管理,有比C/S更強的適應范圍,一般只要有操作系統和瀏覽器就行。
2.對安全要求不同:C/S一般面向相對固定的用戶群,對信息安全的控制能力很強,一般高度機密的信息系統采用C/S結構適宜,可以通過B/S發布部分可公開信息。B/S建立在廣域網之上,對安全的控制能力相對弱,面向是不可知的用戶群。
3.對程序架構不同:C/S程序可以更加注重流程,可以對權限多層次校驗,對系統運行速度可以較少考慮。B/S對安全以及訪問速度的多重的考慮,建立在需要更加優化的基礎之上,比C/S有更高的要求。B/S結構的程序架構是發展的趨勢,從MS的.Net系列的BizTalk2000Exchange2000等,全面支持網絡的構件搭建的系統.。SUN和IBM推的JavaBean構件技術等,使B/S更加成熟。
4.軟件重用不同:C/S程序可以不可避免的整體性考慮,構件的重用性不如在B/S要求下的構件的重用性好。B/S對的多重結構,要求構件相對獨立的功能,能夠相對較好的重用。
5.系統維護不同:系統維護在是軟件生存周期中,開銷大。重要C/S程序由于整體性,必須整體考察,處理出現的問題以及系統升級。升級難,可能是再做一個全新的系統。B/S程序由構件組成,方便構件個別的更換,實現系統的無縫升級,系統維護開銷減到最小,用戶從網上自己下載安裝就可以實現升級。
6.處理問題不同:C/S程序可以處理用戶面固定,并且在相同區域,安全要求高需求,與操作系統相關,應該都是相同的系統。B/S建立在廣域網上,面向不同的用戶群,分散地域,這是C/S無法作到的,與操作系統平臺關系最小。
7.用戶接口不同:C/S多是建立的Window平臺上,表現方法有限。對程序員普遍要求較高。B/S建立在瀏覽器上,,有更加豐富和生動的表現方式與用戶交流,并且大部分難度減低,減低開發成本。
8.信息流不同:C/S程序一般是典型的中央集權的機械式處理,交互性相對低。B/S信息流向可變化,B-B、B-C、B-G等信息流向的變化,更象交易中心。