B/S結構與C/S結構

來源:互聯網
上載者:User

近年來,隨著網路技術不斷髮展,尤其是基於Web的資訊發布和檢索技術、Java計算技術以及網路分布式對象技術的飛速發展,導致了很多應用系統的體繫結構從C/S結構向更加靈活的B/S多級分布結構演變,使得軟體系統的網路體繫結構跨入一個新階段。認識這些結構的特徵,並根據實際情況進行系統的選型,對於成功開發一個MIS系統是非常關鍵的。

1 C/S結構與B/S結構

1.1 C/S結構

C/S結構,即Client/Server(客戶機/伺服器)結構。此結構把資料庫內容放在遠端伺服器上,而在客戶機上安裝相應軟體。C/S軟體一般採用兩層結構,其分布結構1所示。它由兩部分構成:前端是客戶機,即使用者介面(Client)結合了表示與商務邏輯,接受使用者的請求,並向資料庫服務提出請求,通常是一個PC機;後端是伺服器,即資料管理(Server)將資料提交給用戶端,用戶端將資料進行計算並將結果呈現給使用者。還要提供完善的安全保護及對資料的完整性處理等操作,並允許多個客戶同時訪問同一個資料庫。在這種結構中,伺服器的硬體必須具有足夠的處理能力,這樣才能滿足各客戶的要求。

C/S結構在技術上很成熟,它的主要特點是互動性強、具有安全的存模數式、網路通訊量低、響應速度快、利於處理大量資料。但是該結構的程式是針對性開發,變更不夠靈活,維護和管理的難度較大。通常只局限於小型區域網路,不利於擴充。並且,由於該結構的每台客戶機都需要安裝相應的用戶端程式,分布功能弱且相容性差,不能實現快速部署安裝和配置,因此缺少通用性,具有較大的局限性。要求具有一定專業水準的技術人員去完成。

1.2 B/S結構

B/S結構,即Browser/Server(瀏覽器/伺服器)結構,就是只安裝維護一個伺服器(Server),而用戶端採用瀏覽器(Browse)運行軟體。它是隨著Internet技術的興起,對C/S結構的一種變化和改進。主要利用了不斷成熟的WWW瀏覽器技術,結合多種Script語言(VBScript、javascript…)和ActiveX技術,是一種全新的軟體系統構造技術。screen.width-500)this.style.width=screen.width-500;
}">

B/S三層體繫結構採用三層客戶/g艮務器結構,在資料管理層(Server)和使用者介面層(Client)增加了一層結構,稱為中介軟體(Middleware),使整個體繫結構成為三層。三層結構是伴隨著中介軟體技術的成熟而興起的,核心概念是利用中介軟體將應用分為展示層、商務邏輯層和資料存放區層三個不同的處理層次,2所示。三個層次的劃分是從邏輯上分的,具體的物理分法可以有多種組合。中介軟體作為構造三層結構應用系統的基礎平台,提供了以下主要功能:負責客戶機與伺服器、伺服器與伺服器間的串連和通訊;實現應用與資料庫的高效串連;提供一個三層結構應用的開發、運行、部署和管理的平台。這種三層結構在層與層之間相互獨立,任何一層的改變不會影響其它層的功能。

在B/S體繫結構系統中,使用者通過瀏覽器向分布在網路上的許多伺服器發出請求,伺服器對瀏覽器的請求進行處理,將使用者所需資訊返回到瀏覽器。而其餘如資料請求、加工、結果返回以及動態網頁產生、對資料庫的訪問和應用程式的執行等工作全部由Web Server完成。隨著Windows將瀏覽器技術植入作業系統內部,這種結構已成為當今應用軟體的首選體繫結構。顯然B/S結構應用程式相對於傳統的C/S結構應用程式是一個非常大的進步。

B/S結構的主要特點是分布性強、維護方便、開發簡單且共用性強、總體擁有成本低。但資料安全性問題、對伺服器要求過高、資料轉送速度慢、軟體的個人化特點明顯降低,這些缺點是有目共睹的,難以實現傳統模式下的特殊功能要求。例如通過瀏覽器進行大量的資料輸入或進行報表的應答、專用性列印輸出都比較困難和不便。此外,實現複雜的應用構造有較大的困難。雖然可以用ActiveX、Java等技術開發較為複雜的應用,但是相對於發展已非常成熟C/S的一系列應用工具來說,這些技術的開發複雜,並沒有完全成熟的技術工具供使用。

2 C/S結構與B/S結構的分析比較

2.1 硬體環境不同

C/S建立在區域網路的基礎上,通過專門伺服器提供串連和資料交換服務。所處理的使用者不僅固定,並且處於相同地區,要求擁有相同的作業系統。B/S建立在廣域網路的基礎上,資訊自己管理,有比C/S更強的適應範圍,一般只要有作業系統和瀏覽器就行。與作業系統平台關係最小。面向不可知的使用者群。

2.2 結構不同

C/S軟體一般採用兩層結構,而B/S採用三層結構:

這兩種結構的不同點是兩層結構中用戶端參與運算,而三層結構中用戶端並不參與運算,只是簡單地接收使用者的請求,顯示最後的結果。由於三層結構中的用戶端並不需要參與計算,所以對用戶端的電腦電腦配置要求較低。雖然BlS採用了邏輯上的三層結構,但在物理上的網路結構仍然是原來的乙太網路或環形網。這樣,第一層與第二層結構之間的通訊、第二層與第三層結構之間的通訊都需佔用同一條網路線路,網路通訊量大。而C/S只有兩層結構,網路通訊量只包括Client與Server之間的通訊量,網路通訊量低。所以,C/S處理大量資訊的能力是B/S無法比擬的。

2.3 處理模式不同

B/S的處理模式與C/S相比,大大簡化了用戶端,只要裝上作業系統、網路通訊協定軟體以及瀏覽器即可,這時的客戶機成為瘦客戶機,而伺服器則集中了所有的應用邏輯。

2.4 構件重用不同

在構件的重用性方面,C/S程式從整體進行考慮,具有較低的重用性。 而BlS對應的是多重結構,要求構件具有相對獨立的功能,具有較好的重用性。

2.5 系統維護不同

系統維護是在軟體生存周期中開銷最大的一部分。C/S程式由於其本身的整體性,必須整體考察並處理出現的問題。而B/S結構,用戶端不必安裝及維護。B/S結構在構件組成方面只變更個別構件,開發、維護等工作都集中在伺服器端。當需要升級時,只需補救伺服器端的軟體,而不必更換用戶端軟體,實現系統的無縫升級。這樣就減輕了系統維護與升級的成本和工作量,使使用者的總體擁有成本(TCO)大大降低。

2.6 對安全的要求不同

由於C/S採用配對的點對點的結構模式,並採用適用於區域網路、安全性比較好的網路通訊協定(例如NT的NetBEUI協議),安全性可得到較好的保證。C/S一般面向相對固定的使用者群,程式更加註重流程,它可以對許可權進行多層次校正,提供了更安全的存模數式,對資訊安全的控制能力很強。一般高度機密的資訊系統採用C/S結構適宜。而B/S採用點對多點、多點對多點這種開放的結構模式,並採用TCP/IP這一類運用於Intemet的開放性協議,其安全性只能靠資料服務器上管理密碼的資料庫來保證。所以B/S對安全以及訪問速度比C/S有更高的要求。而Intemet技術中這些關鍵的安全問題遠未解決。

2.7 速度不同

由於C/S在邏輯結構上比B/S少一層,對於相同的任務,C/S完成的速度總比B/S快。使得C/S更利於處理大量資料。

2.8 互動性與資訊流不同

互動性強是C/S固有的一個優點。在C/S中,用戶端有一套完整的應用程式,在出錯提示、線上協助等方面都有強大的功能,並且可以在子程式間自由切換。B/S雖然由javascript、VBScript提供了一定的互動能力,但與C/S的一整套客戶應用相比是太有限了。C/S的資訊流單一,而B/S可處理如B-B、B-C、B-G等資訊並具有流向的變化。

3 基於B/S結構與C/S結構結合的體繫結構

綜上所述,可見B/S與C/S這兩種技術是各有利弊的。

C/S技術是20年前的主流開發技術,它主要局限於內部區域網路的需要。因而缺乏作為應用平台的一些特性,難以擴充到互連網這樣的環境上去,而且要求開發人員自己去處理交易管理、訊息佇列、資料的複製和同步、通訊安全等系統級的問題。這對應用開發人員提出了較高的要求,而且迫使應用開發人員投入很多精力來解決應用程式以外的問題。這使得應用程式的維護、移植和互操作變得複雜,成了C/S的一大缺陷。

但是,與B/S結構相比,C/S技術發展曆史更為“悠久”。從技術成熟度等級及軟體設計、開發人員的掌握水平來看,C/S技術更成熟、更可靠。在某些情況下,採用100%的B/S方式將造成系統響應速度慢、伺服器開銷大、通訊頻寬要求高、安全性差、總投資增加等問題。而且,對於一些複雜的應用,B/S方式目前尚沒有合適方式進行開發。
screen.width-500)this.style.width=screen.width-500;
}">
    客觀地分析C/S、B/S的優劣,建立C/S、B/S結構相結合的網路構架已成為必然趨勢。在實際開發和規劃系統的時候要有的放矢,才能夠搭建成合適的資訊系統。

下面以學校學生管理系統為執行個體說明這種設計方法。該系統採用B/S+C/S體繫結構,結合了ASP技術,並將組件技術COM+和ActiveX技術分別應用在伺服器端和用戶端。該系統的實現主要分為三個部分:ASP頁面、COM+組件和資料庫,是一個三層結構。展示層由ASP頁面組成,用以實現WEB頁面顯示和調用COM+組件,商務邏輯和資料訪問由一組用VC實現的COM+組件構成。為了便於維護、升級和實現分布式應用,在實現過程中,又將商務邏輯層和資料訪問層分離開,ASP頁面不直接調用資料訪問層,而是通過商務邏輯層調用資料庫。一些需要用WEB處理的、滿足大多數訪問者請求的功能介面採用B/S結構,例如任課教師可以通過瀏覽器查詢所教班級學生各種相關資訊;學校管理員通過瀏覽器對學校的學生、教師等資訊進行管理與維護以及查詢統計;領導層可通過瀏覽器進行資料的查詢和決策。這樣用戶端比較靈活。而後台只需少數人使用的功能則採用C/S結構,例如資料庫管理維護介面。如此處理,可充分發揮各種模式的優越性——避免了B/S結構在安全性、保密性和響應速度等方面的缺點以及C/S結構在維護和靈活性等方面的缺點。COM+的實現可分為三個步驟:COM+組件的設計、COM+應用程式的產生和編程。COM+組件位於WEB應用程式中,用戶端發出請求到WEB SERVER。WEB SERVER將請求傳給WEB應用程式。WEB應用程式將資料請求傳送給資料庫伺服器,資料庫伺服器將資料返回WEB應用程式。然後再由WEB SERVER將資料傳送給用戶端。對於一些較難實現的功能通過在頁面中嵌入ActiveX控制項來實現。

採用這種結構優點在於:

(1)充分發揮了B/S與C/S體繫結構的優勢,彌補了二者不足。充分考慮使用者利益,保證瀏覽查詢者方便操作的同時也使得系統更新簡單,維護簡單靈活,易於操作。

(2)資訊發布採用B/S結構,保持了瘦用戶端的優點。裝入客戶機的軟體可以採用統一的WWW瀏覽器。而且由於WWW瀏覽器和網路綜合伺服器都是基於工業標準,可以在所有的平台上工作。

(3)資料庫端採用C/S結構,通過ODBC/JDBC串連。這一部分只涉及到系統維護、資料更新等,不存在完全採用C/S結構帶來的用戶端維護工作量大等缺點。並且在用戶端可以構造非常複雜的應用,介面友好靈活,易於操作,能解決許多B/S存在的固有缺點。

(4)對於原有的基於C/S體繫結構的應用,只需開發用於發布的WWW介面,就可非常容易地升級到這種體繫結構,並保留原來的某些子系統。這樣就充分地利用現有系統的資源。

(5)通過在瀏覽器中嵌入ActiveX控制項可以實現在瀏覽器中不能實現或實現起來比較困難的功能。例如通過瀏覽器進行報表的應答。

(6)將伺服器端劃分為WEB伺服器和WEB應用程式兩部分。WEB應用程式採用組件技術實現三層體繫結構中的邏輯部分,達到封裝的目的。

B/S結構與C/S結構各具優缺點,怎樣結合B/S與C/S開發系統是開發MIS系統普遍關注的問題。在應用過程中,應結合實際情況,並根據實際情況進行系統的選型與構建,從而開發出高效、安全的應用系統。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.