摘要:本文著重講述了C/S與B/S的結構,并對C/S和B/S兩種結構進行了充分的分析比較。關鍵詞:軟件體系結構:C/S;B/S
中圖分類號:TP311
文獻標識碼:B
文章編號:1002-2422(2010)06-0126-02
1 C/S結構與B/S結構
1.1 C/S結構
C/S結構把數據庫內容放在遠程的服務器上,而在客戶機上安裝相應軟件。C/S軟件一般采用兩層結構,由兩部分構成:前端是客戶機,即用戶界面結合了表示與業務邏輯,接受用戶的請求,并向數據庫服務提出請求,通常是一個PC機;后端是服務器,即數據管理將數據提交給客戶端,客戶端將數據進行計算并將結果呈現給用戶。
但CIS體系結構具有強大的數據操作和事務處理能力,模型思想簡單,易于人們理解和接受,隨著企業規模的日益擴大,軟件的復雜程度不斷提高,傳統的二層C/S結構存在著很多局限,因此,三層C/S體系結構應運而生。其結構如圖1所示。在三層C/S體系結構中,增加了一個應用服務器,可以將整個應用邏輯駐留在應用服務器上,而只有表示層存在于客戶機上。這種結構被稱為“瘦客戶機”。三層C/S體系結構將應用功能分成表示層、功能層和數據層。

表示層是應用的用戶接口部分,擔負著擁護與應用間的對話功能。用于檢查用戶從鍵盤等輸入的數據,顯示應用輸出的數據。功能層相當于應用的本體,是將具體的業務處理邏輯編入程序中。而數據層就是數據庫管理系統,負責管理對數據庫數據的讀寫。在三層C/S體系結構中,中間件是最重要的構件。所謂中間件是一個用戶API定義的軟件層,是具有強大通信能力和良好可擴展性的分布式軟件管理框架。其功能是在客戶機和服務器或服務器和服務器之間傳送數據,實現客戶機群和服務器群之間的通信。
1.2 B/S結構
B/S結構,就是只安裝維護一個服務器,而客戶端采用瀏覽器運行軟件。是隨著Internet技術的興起,對C/S結構的一種變化和改進。主要利用了不斷成熟的WWW瀏覽器技術,結合多種Script語言和ActiveX技術,是一種全新的軟件系統構造技術。采用B/S結構的計算機應用系統的基本框架如圖2所示。

B/S三層體系結構采用三層客戶服務器結構,在數據管理層和用戶界面層增加了一層結構,即中間件,使整個體系結構成為三層。三層結構是伴隨著中間件技術的成熟而興起的,核心概念是利用中間層將應用分為表示層、業務邏輯層和數據存儲層三個不同的處理層次。三個層次的劃分是從邏輯上分的,具體的物理分法可以有多種組合。中間件作為構造三層結構應用系統的基礎平臺,提供了以下主要功能:負責客戶機與服務器、服務器與服務器間的連接和通信;實現應用與數據庫的高效連接;提供一個三層結構應用的開發、運行、部署和管理的平臺。這種三層結構在層與層之間相互獨立,任何一層的改變不會影響其它層的功能。
2 C/S結構與B/S結構的分析比較
2.1 硬件環境不同
C/S建立在局域網的基礎上,通過專門服務器提供連接和數據交換服務。所處理的用戶不僅固定,并且處于相同區域,要求擁有相同的操作系統。B/S建立在廣域網的基礎上,信息自己管理,有比C/S更強的適應范圍,一般只要有操作系統和瀏覽器就行。與操作系統平臺關系最小。面向不可知的用戶群。
2.2 處理模式不同
B/S的處理模式與C/S相比,大大簡化了客戶端,只要裝上操作系統、網絡協議軟件以及瀏覽器即可,這時的客戶機成為瘦客戶機,而服務器則集中了所有的應用邏輯。
2.3 構件重用不同
在構件的重用性方面,C/S程序從整體進行考慮,具有較低的重用性。而B/S對應的是多重結構,要求構件具有相對獨立的功能,具有較好的重用性。
2.4 系統維護不同
系統維護是在軟件生存周期中開銷最大的一部分。C/S程序由于本身的整體性,必須整體考察并處理出現的問題。而B/S結構,客戶端不必安裝及維護。B/S結構在構件組成方面只變更個別構件,開發、維護等工作都集中在服務器端。需要升級時,只更新服務器端的軟件。而不必更換客戶端軟件,實現系統的無縫升級。這樣就減輕了系統維護與升級的成本和工作量,使用戶的總體擁有成本大大降低。
2.5 對安全的要求不同
由于C/S采用配對的點對點的結構模式,并采用適用于局域網、安全性比較好的網絡協議。安全性可得到較好的保證。C/S一般面向相對固定的用戶群,程序更加注重流程,可以對權限進行多層次校驗,提供了更安全的存取模式.對信息安全的控制能力很強。一般高度機密的信息系統采用CIS結構適宜。而B/S采用點對多點、多點對多點這種開放的結構模式,并采用TCP/IP這一類運用于Internet的開放性協議,其安全性只能靠數據服務器上管理密碼的數據庫來保證。所以B/S對安全以及訪問速度比C/S有更高的要求。而Internet技術中這些關鍵的安全問題遠未解決。
2.6 速度不同
由于C/S在邏輯結構上比B/S少一層,對于相同的任務,C/S完成的速度總比B/S快。使得C/S更利于處理大量數據。
2.7 交互性與信息流不同
交互性強是C/S固有的一個優點。在C/S中,客戶端有一套完整的應用程序,在出錯提示、在線幫助等方面都有強大的功能,并且可以在子程序間自由切換。B/S雖然由JavaScript、VBScript提供了一定的交互能力,但與C/S的一整套客戶應用相比是太有限了。C/S的信息流單一,而B/S可處理如B-B、B-C、B-G等信息并具有流向的變化。
2.8 對程序架構不同
C/S程序可以更加注重流程,可以對權限多層次校驗,對系統運行速度可以較少考慮。而B/S對安全以及訪問速度的多重的考慮,建立在需要更加優化的基礎之上,比C/S有更高的要求B/S結構的程序架構是發展的趨勢,從MS的Net系列的BizTalk 2000 Exchange 2000等,全面支持網絡的構件搭建的系統。SUN和IBM推出的JavaBean構件技術等,使B/S更加成熟。
參考文獻
[1]周巧霞.學分制管理之核心—選課系統[J].寧波:寧波大學學報(教育科學版),2003.
[2]陳淼,譚順華.基于B/S模式的高校網絡選課系統設計[J].喀什:喀什師范學院學報,2006.
[3] Douglas E.Comer,等.TCP/IP網絡互聯技術(3)(第2版)[M].北京:清華大學出版社.2000.
[4]古玲,苑志勇.基于B/S結構的檔案管理信息系統研究[J].武漢:華中科技大學學報,2005(1).
[5]朱愛紅,余冬梅,張聚禮.基于B/S軟件體系結構的研究Ⅲ.北京:計算機工程與設計,2005(5).
[6]李高健,孫瑛霖.ADO.NET程序設計[M].北京:清華大學出版社,2002.
[7]葉安勝。張志強,鄭加林.基于ADO.NET的數字圖書館的設計與實現[J].成都:成都大學學報,2005(3).