CS與BS架構區別、比較、及現狀與趨勢分析


  一、簡介

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

  BS即Browser/Server(瀏覽器/服務器)結構,就是只安裝維護一個服務器(Server),而客戶端采用瀏覽器(Browse)運行軟件。B/S結構應用程序相對於傳統的C/S結構應用程序是一個非常大的進步。 B/S結構的主要特點是分布性強、維護方便、開發簡單且共享性強、總體擁有成本低。但數據安全性問題、對服務器要求過高、數據傳輸速度慢、軟件的個性化特點明顯降低,這些缺點是有目共睹的,難以實現傳統模式下的特殊功能要求。例如通過瀏覽器進行大量的數據輸入或進行報表的應答、專用性打印輸出都比較困難和不便。此外,實現復雜的應用構造有較大的困難。

  二、CS與BS的比較

對象 硬件環境 客戶端要 求           軟件安裝 升級和維護 安全性
C/S 用戶固定,並且處於相同區域,要求擁有相同的操作系統。 客戶端的計算機電腦配置要求較高。 每一個客戶端都必須安裝和配置軟件. C/S每一個客戶端都要升級程序。可以采用自動升級。 一般面向相對固定的用戶群,程序更加注重流程,它可以對權限進行多層次校驗,提供了更安全的存取模式,對信息安全的控制能力很強。一般高度機密的信息系統采用C/S結構適宜。
B/S 要有操作系統和瀏覽器,與操作系統平台無關。 客戶端的計算機電腦配置要求較低。 可以在任何地方進行操作而不用安裝任何專門的軟件。 不必安裝及維護

 

  三、現狀與趨勢(轉自知乎)

  鏈接:http://www.zhihu.com/question/24368490/answer/70415838  來源:知乎著作權歸作者所有。

  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