BS架構與CS架構的區別(最詳細)


引言

開始(CS結構時期)

剛開始的時候用戶去取數據,直接就去主機拿,從這里開始就分出了客戶端和服務端。

  • 客戶端:用戶安裝的軟件;

  • 服務端:統一管理數據庫的主機中的軟件就叫做服務端,再后來服務端不只是管理數據,外加處理業務邏輯。

    C/S結構,即Client/Server(客戶機/服務器)結構,是大家熟知的軟件系統體系結構,通過將任務合理分配到Client端和Server端,降低了系統的通訊開銷,可以充分利用兩端硬件環境的優勢。早期的軟件系統多以此作為首選設計標准。
    B/S結構,即Browser/Server(瀏覽器/服務器)結構,是隨着Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶界面完全通過WWW瀏覽器實現,一部分事務邏輯在前端實現,但是主要事務邏輯在服務器端實現,形成所謂3-tier結構。
    B/S結構,主要是利用了不斷成熟的WWW瀏覽器技術,結合瀏覽器的多種scrīpt語言(VBscrīpt、Javascrīpt…)和ActiveX技術,用通用瀏覽器就實現了原來需要復雜專用軟件才能實現的強大功能,並節約了開發成本,是一種全新的軟件系統構造技術。隨着 98/Windows 2000將瀏覽器技術植入內部,這種結構更成為當今應用軟件的首選體系結構。

BS架構與CS架構特點

  • BS:(Browser/Server,瀏覽器/服務器模式),web應用 可以實現跨平台,客戶端零維護,但是個性化能力低,響應速度較慢。
  • CS:(Client/Server,客戶端/服務器模式),桌面級應用 響應速度快,安全性強,個性化能力強,響應數據較快

C/S系統結構

在這里插入圖片描述

加粗樣式

面試題目:數據放在服務端和客戶端的利與弊?

答:服務端統一處理有更好的安全性和穩定性而且升級比較容易,不過服務器負擔就增加了。

客戶端將負擔分配到每個用戶,從而可以節約服務器紫雲啊,安全性和穩定性可能會有一定的問題,升級也比較麻煩,每個安裝的客戶端程序都需要升級,另外為了節省網絡資源,通過網絡傳輸的數據應該盡量減少!

B/S系統結構

在這里插入圖片描述

在這里插入圖片描述

CS與BS的比較


對象 硬件環境 客戶端要 求 軟件安裝 升級和維護 安全性
C/S 用戶固定,並且處於相同區域,要求擁有相同的操作系統。 客戶端的計算機電腦配置要求較高。 每一個客戶端都必須安裝和配置軟件. C/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 和推的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等信息、流向的變化, 更象交易中心

現狀與趨勢(轉自知乎)

1:用來編制CS管理軟件的編程語言,早已江河日下首先我們來了解一下各種語言的發展趨勢和排行榜,可以看到排名前十的語言中,沒有一種是用來開發CS管理軟件的,其中8種語言(Java,C#,Python,PHP,Visual Basic .NET,JavaScript,Perl,Ruby)主要就是面向BS架構軟件的語言,剩下的兩種語言(C,C++)也不是應用於CS管理軟件,而主要面向游戲、科學計算、網絡通信軟件、操作系統、設備驅動程序、嵌入式系統等。

在2015年編程語言排名中,我們可以看到CS軟件的主打開發語言VB和Delphi Pascal已經排到了17名和20名,加起來才不到2%的市場占有率,而十多年前卻是占據着10%以上,最讓人看不到未來的是VB和Delphi的廠商已經不再提供正式支持了。

因此,若是選擇CS管理軟件,會導致未來的升級和維護都可能會是問題,一方面因為該編程語言和相關的組件已經不再往前發展和創新了,另一方面是國內學院和學生根本沒有人去學了,大家都去學習互聯網或移動端的開發語言了。

2:市面上CS的管理軟件正越來越少

企業管理軟件目前已經是BS在主導天下了。

十幾年前所有管理軟件都是基於CS架構開始的,包括用友用VB開發的財務軟件,金蝶也是用VB開發的管理軟件,當時還有和VB並駕齊驅的Delphi開發平台(Borland公司擁有)。那完全是因為那時還沒有互聯網,甚至局域網都沒普及,所謂CS管理軟件其實就是一個單機記賬軟件。

但隨着互聯網興起和信息化管理的深入,一方面我們很容易看到所有新興的企業管理軟件,幾乎就沒有采用CS開發的,如比較流行的OA管理軟件,CRM管理軟件。另一方面也看到國內包括用友、金蝶等巨頭都在從CS轉向BS,或者說從VB轉向JAVA、。NET,CS相關管理軟件一方面越來越少,另一方面現存的CS管理軟件也是出於舊版本維護中而已。

3:CS管理軟件應用不如BS方便

相比於CS管理軟件,BS在安裝部署、升級維護、設備帶寬、軟件學習推廣成本等方面都有無可比擬的優勢。BS管理軟件的用戶在客戶機上無需安裝任何軟件,使用瀏覽器即可訪問系統。系統讓企業擴張不再需要額外投入更多信息化的資金,讓系統培訓和后期推廣都變得非常容易,管理模式變得可復制。

可用性:任何時間、任何地點、任何系統,只要可以使用瀏覽器上網,就可以使用BS系統的終端,更多的系統用戶加入時只需設立賬號、培訓即可,並支持移動辦公和分布式辦公。CS是典型的集中式機械化處理,交互性相對低。

穩定性:J2EE的三層架構,采用中間件應用服務器。數據庫、應用服務器、視圖分層設計,幾千幾萬用戶同時在線系統也有優秀的表現。

易升級:CS系統往往是一個不可拆分的整體,各部分模塊中有一部分改變,就要關聯到其它模塊的變動,使系統升級成本比較大。BS都是由構件組成,只需要改變頁面就可以同步更新,其開發、維護等幾乎所有工作也都集中在服務器端,當企業對網絡應用進行升級時,只需更新服務器端的軟件就可以。

低維護:CS需要專門的客戶端安裝程序,客戶端的安裝、升級、網絡調試困難;而BS系統只需管理中心服務器。

兼容性:CS系統嚴重依賴於固定的開發工具、開發語言、操作系統、數據庫,軟件服務商提供的只能是一個整體性的固化軟件,對異構操作系統、數據庫很難兼容。BS借助JAVA這樣的跨平台語言出現之后,可兼容於所有主流數據庫和操作系統。

低帶寬: CS典型應用是各個客戶端直接連接服務器數據庫,一般應用在專用的網絡上,僅適用於局域網內部用戶或寬帶用戶小范圍里的網絡環境,不適合作業點分布較廣的大型應用。BS 建立在廣域網之上的,帶寬要求低,不必是專門的網絡硬件環境,適用於低帶寬、欠穩定的環境。

豐富展現:CS 多是建立在Window平台上,表現方法有限。BS 建立在瀏覽器上, 有更加豐富和生動的表現方式與用戶交流。

4:CS管理軟件不如BS更能應對未來挑戰

BS軟件在安全性、系統擴展、后續投資等方面都有無可比擬的優勢。

安全性:CS對服務器端和客戶端安全都需要考慮,而BS只注重服務端即可。CS 程序由於更需要對整體性的考慮,必須有非常專業水准的技術人員才能完成軟件更改,特別是數據直接對各客戶端開放,導致安全隱患。而BS系統只對外開放HTTP協議和端口,數據庫只允許服務器一台機器訪問,瀏覽器端U盾的使用使數據安全加密。

擴展性:系統擴展維護是軟件生存周期中,開銷大,相當重要 。CS 程序由於整體性,必須整體考察,處理出現的問題以及系統升級難,很可能是再做一個全新的系統。BS滿足構件個別的更換,實現系統的無縫升級。因此BS一般只有初期一次性投入成本,而CS軟件則不同,隨着應用范圍的擴大,投資會連綿不絕。

重用性:BS可基於J2EE平台架構,利用分布式組件技術來構造系統,減少系統維護和升級成本,有利於保護用戶投資,二次開發快捷。業務擴展通過增加網頁即可增加供熱業務功能。而CS構件的重用性不如BS好。

大型應用:對於集團級的異地軟件應用,CS結構的軟件必須在各地安裝多個服務器,並在多個服務器之間進行數據同步。如此一來,每個數據點上的數據安全都影響了整個應用的數據安全。所以,對於集團級的大型應用來講,CS結構軟件的安全性是令人無法接受的。對於BS結構的軟件來講,由於其數據集中存放於總部的數據庫服務器,客戶端不保存任何業務數據和數據庫連接信息,也無需進行什么數據同步,所以這些安全問題也就自然不存在了。而且CS模式下數據的實時性、追溯性都不能保證,數據的分布性導致數據永遠無法一致,決策不准。這也是由於CS對帶寬要求很高,企業要是租用專線投入會很大,才會導致數據分開管理。

投資保護:在對已有硬件投資的保護方面,兩種結構也是完全不同的。當應用范圍擴大,系統負載上升時,CS結構軟件的一般解決方案是購買更高級的中央服務器,原服務器放棄不用,這是由於CS軟件的兩層結構造成的,這類軟件的服務器程序必須部署在一台計算機上;而BS結構則不同,隨着服務器負載的增加,可以平滑地增加服務器的個數並建立集群服務器系統,然后在各個服務器之間做負載均衡。有效地保護了原有硬件投資。

高性能:大多數CS結構的軟件都是通過ODBC直接連到數據庫的,安全性差不說,其用戶數也是受限的。每個連到數據庫的用戶都會保持一個ODBC連接,都會一直占用中央服務器的資源,對中央服務器的要求非常高,使得用戶擴充受到極大的限制。而BS結構軟件則不同,所有的用戶都是通過一個JDBC連接緩沖池連接到數據庫的,用戶並不保持對數據庫的連接,用戶數基本上是無限的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM