C/S架構和B/S架構的區別與聯系


本文的內容來自網絡,經過匯編總結而成!!

摘要:       B/S構架和C/S構架區別,每個構架有自己不同的特點和優缺點!簡單的說B/S構架就是瀏覽器/服務器,C/S構架就是Client/Server。       B/S結構,即Browser/Server(瀏覽器/服務器)結構,是隨着Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶界面完全通過WWW瀏覽器實現,一部分事務邏輯在前端實現,但是主要事務邏輯在服務器端實現,形成所謂3-tier結構。B/S結構,主要是利用了不斷成熟的WWW瀏覽器技術,結合瀏覽器的多種Script語言(VBScript、javascript…)和ActiveX技術,用通用瀏覽器就實現了原來需要復雜專用軟件才能實現的強大功能,並節約了開發成本,是一種全新的軟件系統構造技術。隨着Windows 98/Windows 2000將瀏覽器技術植入操作系統內部,這種結構更成為當今應用軟件的首選體系結構。顯然B/S結構應用程序相對於傳統的C/S結構應用程序將是巨大的進步。 B/S結構采用星形拓撲結構建立企業內部通信網絡或利用Internet虛擬專網(VPN)。前者的特點是安全、快捷、准確。后者則具有節省投資、跨地域廣的優點,須視企業規模和地理分布確定。企業內部通過防火牆接入Internet,在整個網絡采用TCP/IP協議。   什么是C/S架構 C/S 架構       C/S 架構是一種典型的兩層架構,其全程是Client/Server,即客戶端服務器端架構,其客戶端包含一個或多個在用戶的電腦上運行的程序,而服務器端有兩種,一種是數據庫服務器端,客戶端通過數據庫連接訪問服務器端的數據;另一種是Socket服務器端,服務器端的程序通過Socket與客戶端的程序通信。
           C/S 架構也可以看做是胖客戶端架構。因為客戶端需要實現絕大多數的業務邏輯和界面展示。這種架構中,作為客戶端的部分需要承受很大的壓力,因為顯示邏輯和事務處理都包含在其中,通過與數據庫的交互(通常是SQL或存儲過程的實現)來達到持久化數據,以此滿足實際項目的需要。
           它是軟件系統體系結構,通過它可以充分利用兩端硬件環境的優勢,將任務合理分配到Client端和Server端來實現,降低了系統的通訊開銷。目前大多數應用軟件系統都是Client/Server形式的兩層結構,由於現在的軟件應用系統正在向分布式的Web應用發展,Web和Client/Server 應用都可以進行同樣的業務處理,應用不同的模塊共享邏輯組件;因此,內部的和外部的用戶都可以訪問新的和現有的應用系統,通過現有應用系統中的邏輯可以擴展出新的應用系統。這也就是目前應用系統的發展方向。       傳統的C/S體系結構雖然采用的是開放模式,但這只是系統開發一級的開放性,在特定的應用中無論是Client端還是Server端都還需要特定的軟件支持。由於沒能提供用戶真正期望的開放環境,C/S結構的軟件需要針對不同的操作系統系統開發不同版本的軟件, 加之產品的更新換代十分快,已經很難適應百台電腦以上局域網用戶同時使用。而且代價高, 效率低。 C/S模式的優點 ●由於客戶端實現與服務器的直接相連,沒有中間環節,因此響應速度快。 ●操作界面漂亮、形式多樣,可以充分滿足客戶自身的個性化要求。 ●C/S結構的管理信息系統具有較強的事務處理能力,能實現復雜的業務流程。 C/S模式的缺點 ●需要專門的客戶端安裝程序,分布功能弱,針對點多面廣且不具備網絡條件的用戶群體,不能夠實現快速部署安裝和配置。 ●兼容性差,對於不同的開發工具,具有較大的局限性。若采用不同工具,需要重新改寫程序。 ●開發成本較高,需要具有一定專業水准的技術人員才能完成。 什么是B/S架構 B/S架構       B/S(Browser/Server)結構即瀏覽器和服務器結構。它是隨着Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂三層3-tier結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。       以目前的技術看,局域網建立B/S結構的網絡應用,並通過Internet/Intranet模式下數據庫應用,相對易於把握、成本也是較低的。它是一次性到位的開發,能實現不同的人員,從不同的地點,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問和操作共同的數據庫;它能有效地保護數據平台和管理訪問權限,服務器數據庫也很安全 。特別是在JAVA這樣的跨平台語言出現之后,B/S架構管理軟件更是方便、快捷、高效。 B/S架構的優缺點 B/S模式的優點 ●具有分布性特點,可以隨時隨地進行查詢、瀏覽等業務處理。 ●業務擴展簡單方便,通過增加網頁即可增加服務器功能。 ●維護簡單方便,只需要改變網頁,即可實現所有用戶的同步更新。 ●開發簡單,共享性強。 B/S模式的缺點 ●個性化特點明顯降低,無法實現具有個性化的功能要求。 ●操作是以鼠標為最基本的操作方式,無法滿足快速操作的要求。 ●頁面動態刷新,響應速度明顯降低。 ●無法實現分頁顯示,給數據庫訪問造成較大的壓力。 ●功能弱化,難以實現傳統模式下的特殊功能要求。 管理軟件主流技術 管理軟件技術的主流技術與管理思想一樣,也經歷了三個發展時期。首先,界面技術從上世紀DOS字符界面到Windows圖形界面(或圖形用戶界面GUI),直至Browser瀏覽器界面三個不同的發展時期。其次,今天所有電腦的瀏覽器界面,不僅直觀和易於使用,更主要的是基於瀏覽器平台的任何應用軟件其風格都是一樣的,使用人對操作培訓的要求不高,而且軟件可操作性強,易於識別;再者,平台體系結構也從過去單用戶發展到今天的文件/服務器(F/S)體系、客戶機/服務器(C/S)體系和瀏覽器/服務器(B/S)體系。   C/S  B/S 區別     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系列的BizTalk 2000 Exchange 2000等, 全面支持網絡的構件搭建的系統。 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等信息流向的變化, 更象交易中心。 C/SB/S:本不該成冤家       隨着PC機的誕生與應用,計算模式從集中式(數據和應用程序在一台主機上)轉向了分布式(數據和應用程序跨越多個節點機),尤為典型的是C/S結構(Client/Server的簡稱,客戶機/服務器模式)。兩層結構C/S模式,在上個世紀八十年代及九十年代初得到了大量應用,最直接的原因是可視化開發工具的推廣。之后,它開始向三層結構發展。近來,隨着網絡技術不斷發展,尤其是基於Web的信息發布和檢索技術、Java計算技術以及網絡分布式對象技術的飛速發展,導致了很多應用系統的體系結構從C/S結構向更加靈活的多級分布結構演變,使得軟件系統的網絡體系結構跨入一個新階段,即B/S體系結構(Browser/Server的簡稱,瀏覽器/服務器模式)。基於Web的B/S方式其實也是一種客戶機/服務器方式,只不過它的客戶端是瀏覽器。為了區別於傳統的C/S模式,才特意將其稱為B/S(瀏覽器/服務器)模式。認識到這些結構的特征,對於系統的選型而言是很關鍵的。 系統的性能   在系統的性能方面,B/S占有優勢的是其靈活性。任何時間、任何地點、任何系統,只要可以使用瀏覽器上網,就可以使用B/S系統的終端。近年來,智能手機、智能家電、PDA等傳統電腦之外的上網方式發展迅速,這在一定程度上為B/S結構增加了砝碼。   不過,采用B/S結構,客戶端只能完成瀏覽、查詢、數據輸入等簡單功能,絕大部分工作由服務器承擔,這使得服務器的負擔很重。采用C/S結構時,客戶端和服務器端都能夠處理任務,這雖然對客戶機的要求較高,但因此可以減輕服務器的壓力。而且,由於客戶端使用瀏覽器,使得網上發布的信息必須是以HTML格式為主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web頁面)不便於編輯修改,給文件管理帶來了許多不便。 系統的開發   最新的C/S結構是建立在中間件產品基礎之上的,嚴格來講這些產品還缺乏作為企業級應用平台的一些特性,難以擴展到互聯網這樣的環境上去,而且要求應用開發者自己去處理事務管理、消息隊列、數據的復制和同步、通信安全等等系統級的問題。這對應用開發者提出了較高的要求,而且迫使應用開發者投入很多精力來解決應用程序以外的問題。這使得應用程序的維護、移植和互操作變得復雜,成了C/S的一大缺陷。如果客戶端是在不同的操作系統上(比如Windows 2000以及不同版本的Unix),C/S結構的軟件需要開發不同版本的客戶端軟件。如果產品經常需要更新換代,那么升級系統時候需要付出的高代價以及工作的低效率會在一定程度上制約企業的應用。   但是,與B/S結構相比,C/S技術發展歷史更為“悠久”。從技術成熟度及軟件設計、開發人員的掌握水平來看,C/S技術應是更成熟、更可靠的。和佳軟件總裁陳佳認為:對於ERP軟件而言,采用100%的B/S方式將造成系統響應速度慢、服務器開銷大、通信帶寬要求高、安全性差、總投資增加等問題。而且,對於復雜的應用,B/S方式目前尚沒有合適方式進行開發。 系統的升級維護   C/S系統的各部分模塊中有一部分改變,就要關聯到其它模塊的變動,使系統升級成本比較大。B/S與C/S處理模式相比,則大大簡化了客戶端,只要客戶端機器能上網就可以。對於B/S而言,開發、維護等幾乎所有工作也都集中在服務器端,當企業對網絡應用進行升級時,只需更新服務器端的軟件就可以,這減輕了系統維護與升級的成本。如果客戶端的軟件系統升級比較頻繁,那么B/S架構的產品優勢明顯——無論用戶規模有多大,所有的升級操作只需要針對服務器進行,這對人力、時間、費用的節省是相當驚人的。   在系統安全維護上,B/S則略顯不足,B/S結構尤其得考慮數據的安全性和服務器的安全性,畢竟現在的網絡安全系數並不高。以OA軟件為例,B/S結構要實現辦公協作過程中復雜的工作流控制與安全性控制,還有很多技術上的難點。因此,當前雖然出現了B/S結構的OA系統產品,但尚未大范圍推廣。 融合——取長補短   客觀地分析C/S、B/S的優劣,規划系統的時候有的放矢地“趨利避害”,才能夠搭建成合適的信息系統。我們接觸的很多開發人員認為,在大型信息系統中采用B/S、C/S混合模式比較可行。在今年參與評測的一套軟件系統中,開發人員就將C/S、B/S有機結合起來:需要對數據庫進行頻繁操作例如添加、修改資料的人員使用C/S客戶端,這樣客戶端功能比較強、安全系數也高;領導層則使用B/S客戶端進行數據的查詢,這樣客戶端比較靈活,只要能上網即可以操作。如此處理,可充分發揮各種模式的優越性——避免了B/S結構在安全性、保密性和響應速度等方面的缺點以及C/S結構在維護和靈活性等方面的缺點。 背景知識:   兩層結構C/S:如圖1所示,它由兩部分構成:前端是客戶機,通常是PC;后端是服務器,運行數據庫管理系統,提供數據庫的查詢和管理。 圖1 兩層結構C/S  

  三層結構C/S:這是伴隨着中間件技術的成熟而興起的,核心概念是利用中間件將應用分為表示層、業務邏輯層和數據存儲層三個不同的處理層次(如圖2所示)。三個層次的划分是從邏輯上來分的,具體的物理分法可以有多種組合。中間件作為構造三層結構應用系統的基礎平台,提供了以下主要功能:負責客戶機與服務器間、服務器間與服務器間的連接和通信;實現應用與數據庫的高效連接;提供一個三層結構應用的開發、運行、部署和管理的平台。  

  B/S模式:B/S模式層次結構如圖3所示。處於第一層的是客戶端,處於第二層的是應用服務層,由一台或多台服務器組成,該層具有良好的可擴充性,可以隨着應用的需要增加服務器的數目。處於第三層的是數據層,由數據庫系統和遺留系統組成。 圖3 B/S模式示意圖  

C/SB/S聯系和選擇使用       C/S與B/S的關系與管理需求是緊密聯系的,在集團管理中有集中式管理與分布式管理的區別一樣,集中式管理要求對數據實時監控,因為那些外地的分公司需實施進行遠程操作數據的讀寫與傳輸,所以需要用B/S結構來保證數據操作實時性的(只要能上網就能登入操作).應用產品、系統產品、網絡環境的不同,又將其細分為: C/S結構應用方案;系統更新時客戶端均須維護,對網絡帶寬要求較高,主要適合局域網運行.

B/S結構應用方案b/s:客戶端免安裝,客戶端免維護,方便的查詢,所有查詢均可保存個性化方案和公用方案
集團管理分布管理就是用C/S結構的來構成個個區域(各分公司)數據存儲與操作,而后在定期上報數據給總部匯總,這樣操作的數據不需要B/S結構。
根據企業不同的要可選擇不同的模式,不是把有的企業都需要B/S,也不是所有的C/S產品能滿足所有的企業需求(如作全國分銷的信息化系統絕對需要B/S結構的產品來實時監控個個分銷公司和營銷網點)子公司的地域和帶寬進行判斷,一般建議異地的子公司采用B/S,與集團總部在同一局域網內的子公司,並且是高帶寬的子公司采用C/S。

    注: (1)3層結構系統(3-tier結構)

全稱 3-tier system

將客戶端服務器系統分為“客戶層”“應用層”“數據層”3層,構築的系統。由於將客戶端以及服務器的處理分割為多個層次,所以將某個層次進行變更時可以靈活的處理。 曾經,業務系統是以客戶端與服務器,2層結構為多數。在2層結構系統中,為實現業務的處理(Business Logic 商用邏輯)全部都記述在客戶端上。當商用邏輯發生變更時,需要將所有的客戶端軟件進行更新。 在3層結構系統中,將系統整體分為“客戶層”(用戶界面),“應用層”(商用邏輯),“數據層”(數據庫等3層。在客戶端只留下用戶界面,其余均裝於服務器上。客戶端只受理用戶的操作與表示應用層的處理結果。) 由於將應用軟件部分與客戶端分離以及安裝於服務上,在商用邏輯發生變更的情況,只須變更服務器端的應用軟件便可,不會牽連到系統整體。而且,在存有大量數據的系統上,沒必要通過網絡在客戶端與服務器端之間交換大量的數據。 在構築3層結構系統的時候,全面采用web技術的情況比較多。在客戶層常用web瀏覽器以及flash,<<8(1)>>插件等,在應用層常用Java application server等,在數據層常用Relation Database Management System(<<7(2)>>)等。 (2)VPN: Virtual Private Network)虛擬專網       虛擬專網的英文(Virtual Private Network)縮寫。指依靠ISP和其他NSP(網絡服務提供者)在公用網絡(如Internet、Frame Relay、ATM)建立專用的數據通信網絡的技術。在虛擬網中,任意兩個節點之間的連接並沒有傳統專網所需的端到端的物理鏈路.VPN適用於大中型企業的總公司和各地分公司或分支機構的網絡互聯和企業同商業合作伙伴之間的網絡互聯。目前VPN能實現的功能:企業員工及授權商業伙伴共享企業的商業信息;在網上進行信息及文件安全快速的交換;通過網絡安全地發送電子郵件;通過網絡實現無紙辦公和無紙貿易。VPN的訪問方式多種多樣,包括撥號模擬方式、 ISDN、DSL、專線、 IP路由器或線纜調制解調器。現在一般所說的VPN更多指的是構建在公用IP網絡上的專用網,我們也可稱之為IP VPN(以IP為主要通信協議)。 VPN的優勢 降低企業成本。當用VPN進行遠程訪問時,只需付市內電話費,節約了昂貴的長途電話費;可以大大節約鏈路租用費、設備購置費以及網絡維護費,減少企業的運營成本。除此之外,更能將Internet、企業內部網絡(Intranet)、企業外部網絡(Extranet)及遠程接人功能(Remote Access)整合於同一條對外線路中,不需要像以前那樣,同時管理Internet專線,長途數據專線等多種不同線路。  

本文出自 “美好家園” 博客,請務必保留此出處http://mxjy1208.blog.51cto.com/1197381/924816


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com