python是偏向bs还是cs_CS与BS架构区别、比较、及现状与趋势分析
一、簡介
CS即Client/Server(客戶機(jī)/服務(wù)器)結(jié)構(gòu),C/S結(jié)構(gòu)在技術(shù)上很成熟,它的主要特點(diǎn)是交互性強(qiáng)、具有安全的存取模式、網(wǎng)絡(luò)通信量低、響應(yīng)速度快、利于處理大量數(shù)據(jù)。但是該結(jié)構(gòu)的程序是針對性開發(fā),變更不夠靈活,維護(hù)和管理的難度較大。通常只局限于小型局域網(wǎng),不利于擴(kuò)展。并且,由于該結(jié)構(gòu)的每臺客戶機(jī)都需要安裝相應(yīng)的客戶端程序,分布功能弱且兼容性差,不能實(shí)現(xiàn)快速部署安裝和配置,因此缺少通用性,具有較大的局限性。要求具有一定專業(yè)水準(zhǔn)的技術(shù)人員去完成。
BS即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),就是只安裝維護(hù)一個服務(wù)器(Server),而客戶端采用瀏覽器(Browse)運(yùn)行軟件。B/S結(jié)構(gòu)應(yīng)用程序相對于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序是一個非常大的進(jìn)步。 B/S結(jié)構(gòu)的主要特點(diǎn)是分布性強(qiáng)、維護(hù)方便、開發(fā)簡單且共享性強(qiáng)、總體擁有成本低。但數(shù)據(jù)安全性問題、對服務(wù)器要求過高、數(shù)據(jù)傳輸速度慢、軟件的個性化特點(diǎn)明顯降低,這些缺點(diǎn)是有目共睹的,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。例如通過瀏覽器進(jìn)行大量的數(shù)據(jù)輸入或進(jìn)行報(bào)表的應(yīng)答、專用性打印輸出都比較困難和不便。此外,實(shí)現(xiàn)復(fù)雜的應(yīng)用構(gòu)造有較大的困難。
二、CS與BS的比較
對象
硬件環(huán)境
客戶端要 求
軟件安裝
升級和維護(hù)
安全性
C/S
用戶固定,并且處于相同區(qū)域,要求擁有相同的操作系統(tǒng)。
客戶端的計(jì)算機(jī)電腦配置要求較高。
每一個客戶端都必須安裝和配置軟件.
C/S每一個客戶端都要升級程序。可以采用自動升級。
一般面向相對固定的用戶群,程序更加注重流程,它可以對權(quán)限進(jìn)行多層次校驗(yàn),提供了更安全的存取模式,對信息安全的控制能力很強(qiáng)。一般高度機(jī)密的信息系統(tǒng)采用C/S結(jié)構(gòu)適宜。
B/S
要有操作系統(tǒng)和瀏覽器,與操作系統(tǒng)平臺無關(guān)。
客戶端的計(jì)算機(jī)電腦配置要求較低。
可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。
不必安裝及維護(hù)
三、現(xiàn)狀與趨勢(轉(zhuǎn)自知乎)
鏈接:http://www.zhihu.com/question/24368490/answer/70415838 ?來源:知乎著作權(quán)歸作者所有。
1:用來編制CS管理軟件的編程語言,早已江河日下首先我們來了解一下各種語言的發(fā)展趨勢和排行榜,可以看到排名前十的語言中,沒有一種是用來開發(fā)CS管理軟件的,其中8種語言(Java,C#,Python,PHP,Visual Basic .NET,JavaScript,Perl,Ruby)主要就是面向BS架構(gòu)軟件的語言,剩下的兩種語言(C,C++)也不是應(yīng)用于CS管理軟件,而主要面向游戲、科學(xué)計(jì)算、網(wǎng)絡(luò)通信軟件、操作系統(tǒng)、設(shè)備驅(qū)動程序、嵌入式系統(tǒng)等。
在2015年編程語言排名中,我們可以看到CS軟件的主打開發(fā)語言VB和Delphi Pascal已經(jīng)排到了17名和20名,加起來才不到2%的市場占有率,而十多年前卻是占據(jù)著10%以上,最讓人看不到未來的是VB和Delphi的廠商已經(jīng)不再提供正式支持了。
因此,若是選擇CS管理軟件,會導(dǎo)致未來的升級和維護(hù)都可能會是問題,一方面因?yàn)樵摼幊陶Z言和相關(guān)的組件已經(jīng)不再往前發(fā)展和創(chuàng)新了,另一方面是國內(nèi)學(xué)院和學(xué)生根本沒有人去學(xué)了,大家都去學(xué)習(xí)互聯(lián)網(wǎng)或移動端的開發(fā)語言了。
2:市面上CS的管理軟件正越來越少
企業(yè)管理軟件目前已經(jīng)是BS在主導(dǎo)天下了。
十幾年前所有管理軟件都是基于CS架構(gòu)開始的,包括用友用VB開發(fā)的財(cái)務(wù)軟件,金蝶也是用VB開發(fā)的管理軟件,當(dāng)時還有和VB并駕齊驅(qū)的Delphi開發(fā)平臺(Borland公司擁有)。那完全是因?yàn)槟菚r還沒有互聯(lián)網(wǎng),甚至局域網(wǎng)都沒普及,所謂CS管理軟件其實(shí)就是一個單機(jī)記賬軟件。
但隨著互聯(lián)網(wǎng)興起和信息化管理的深入,一方面我們很容易看到所有新興的企業(yè)管理軟件,幾乎就沒有采用CS開發(fā)的,如比較流行的OA管理軟件,CRM管理軟件。另一方面也看到國內(nèi)包括用友、金蝶等巨頭都在從CS轉(zhuǎn)向BS,或者說從VB轉(zhuǎn)向JAVA、。NET,CS相關(guān)管理軟件一方面越來越少,另一方面現(xiàn)存的CS管理軟件也是出于舊版本維護(hù)中而已。
3:CS管理軟件應(yīng)用不如BS方便
相比于CS管理軟件,BS在安裝部署、升級維護(hù)、設(shè)備帶寬、軟件學(xué)習(xí)推廣成本等方面都有無可比擬的優(yōu)勢。BS管理軟件的用戶在客戶機(jī)上無需安裝任何軟件,使用瀏覽器即可訪問系統(tǒng)。系統(tǒng)讓企業(yè)擴(kuò)張不再需要額外投入更多信息化的資金,讓系統(tǒng)培訓(xùn)和后期推廣都變得非常容易,管理模式變得可復(fù)制。
可用性:任何時間、任何地點(diǎn)、任何系統(tǒng),只要可以使用瀏覽器上網(wǎng),就可以使用BS系統(tǒng)的終端,更多的系統(tǒng)用戶加入時只需設(shè)立賬號、培訓(xùn)即可,并支持移動辦公和分布式辦公。CS是典型的集中式機(jī)械化處理,交互性相對低。
穩(wěn)定性:J2EE的三層架構(gòu),采用中間件應(yīng)用服務(wù)器。數(shù)據(jù)庫、應(yīng)用服務(wù)器、視圖分層設(shè)計(jì),幾千幾萬用戶同時在線系統(tǒng)也有優(yōu)秀的表現(xiàn)。
易升級:CS系統(tǒng)往往是一個不可拆分的整體,各部分模塊中有一部分改變,就要關(guān)聯(lián)到其它模塊的變動,使系統(tǒng)升級成本比較大。BS都是由構(gòu)件組成,只需要改變頁面就可以同步更新,其開發(fā)、維護(hù)等幾乎所有工作也都集中在服務(wù)器端,當(dāng)企業(yè)對網(wǎng)絡(luò)應(yīng)用進(jìn)行升級時,只需更新服務(wù)器端的軟件就可以。
低維護(hù):CS需要專門的客戶端安裝程序,客戶端的安裝、升級、網(wǎng)絡(luò)調(diào)試?yán)щy;而BS系統(tǒng)只需管理中心服務(wù)器。
兼容性:CS系統(tǒng)嚴(yán)重依賴于固定的開發(fā)工具、開發(fā)語言、操作系統(tǒng)、數(shù)據(jù)庫,軟件服務(wù)商提供的只能是一個整體性的固化軟件,對異構(gòu)操作系統(tǒng)、數(shù)據(jù)庫很難兼容。BS借助JAVA這樣的跨平臺語言出現(xiàn)之后,可兼容于所有主流數(shù)據(jù)庫和操作系統(tǒng)。
低帶寬: CS典型應(yīng)用是各個客戶端直接連接服務(wù)器數(shù)據(jù)庫,一般應(yīng)用在專用的網(wǎng)絡(luò)上,僅適用于局域網(wǎng)內(nèi)部用戶或?qū)拵в脩粜》秶锏木W(wǎng)絡(luò)環(huán)境,不適合作業(yè)點(diǎn)分布較廣的大型應(yīng)用。BS 建立在廣域網(wǎng)之上的,帶寬要求低,不必是專門的網(wǎng)絡(luò)硬件環(huán)境,適用于低帶寬、欠穩(wěn)定的環(huán)境。
豐富展現(xiàn):CS 多是建立在Window平臺上,表現(xiàn)方法有限。BS 建立在瀏覽器上, 有更加豐富和生動的表現(xiàn)方式與用戶交流。
4:CS管理軟件不如BS更能應(yīng)對未來挑戰(zhàn)
BS軟件在安全性、系統(tǒng)擴(kuò)展、后續(xù)投資等方面都有無可比擬的優(yōu)勢。
安全性:CS對服務(wù)器端和客戶端安全都需要考慮,而BS只注重服務(wù)端即可。CS 程序由于更需要對整體性的考慮,必須有非常專業(yè)水準(zhǔn)的技術(shù)人員才能完成軟件更改,特別是數(shù)據(jù)直接對各客戶端開放,導(dǎo)致安全隱患。而BS系統(tǒng)只對外開放HTTP協(xié)議和端口,數(shù)據(jù)庫只允許服務(wù)器一臺機(jī)器訪問,瀏覽器端U盾的使用使數(shù)據(jù)安全加密。
擴(kuò)展性:系統(tǒng)擴(kuò)展維護(hù)是軟件生存周期中,開銷大,相當(dāng)重要 。CS 程序由于整體性,必須整體考察,處理出現(xiàn)的問題以及系統(tǒng)升級難,很可能是再做一個全新的系統(tǒng)。BS滿足構(gòu)件個別的更換,實(shí)現(xiàn)系統(tǒng)的無縫升級。因此BS一般只有初期一次性投入成本,而CS軟件則不同,隨著應(yīng)用范圍的擴(kuò)大,投資會連綿不絕。
重用性:BS可基于J2EE平臺架構(gòu),利用分布式組件技術(shù)來構(gòu)造系統(tǒng),減少系統(tǒng)維護(hù)和升級成本,有利于保護(hù)用戶投資,二次開發(fā)快捷。業(yè)務(wù)擴(kuò)展通過增加網(wǎng)頁即可增加供熱業(yè)務(wù)功能。而CS構(gòu)件的重用性不如BS好。
大型應(yīng)用:對于集團(tuán)級的異地軟件應(yīng)用,CS結(jié)構(gòu)的軟件必須在各地安裝多個服務(wù)器,并在多個服務(wù)器之間進(jìn)行數(shù)據(jù)同步。如此一來,每個數(shù)據(jù)點(diǎn)上的數(shù)據(jù)安全都影響了整個應(yīng)用的數(shù)據(jù)安全。所以,對于集團(tuán)級的大型應(yīng)用來講,CS結(jié)構(gòu)軟件的安全性是令人無法接受的。對于BS結(jié)構(gòu)的軟件來講,由于其數(shù)據(jù)集中存放于總部的數(shù)據(jù)庫服務(wù)器,客戶端不保存任何業(yè)務(wù)數(shù)據(jù)和數(shù)據(jù)庫連接信息,也無需進(jìn)行什么數(shù)據(jù)同步,所以這些安全問題也就自然不存在了。而且CS模式下數(shù)據(jù)的實(shí)時性、追溯性都不能保證,數(shù)據(jù)的分布性導(dǎo)致數(shù)據(jù)永遠(yuǎn)無法一致,決策不準(zhǔn)。這也是由于CS對帶寬要求很高,企業(yè)要是租用專線投入會很大,才會導(dǎo)致數(shù)據(jù)分開管理。
投資保護(hù):在對已有硬件投資的保護(hù)方面,兩種結(jié)構(gòu)也是完全不同的。當(dāng)應(yīng)用范圍擴(kuò)大,系統(tǒng)負(fù)載上升時,CS結(jié)構(gòu)軟件的一般解決方案是購買更高級的中央服務(wù)器,原服務(wù)器放棄不用,這是由于CS軟件的兩層結(jié)構(gòu)造成的,這類軟件的服務(wù)器程序必須部署在一臺計(jì)算機(jī)上;而BS結(jié)構(gòu)則不同,隨著服務(wù)器負(fù)載的增加,可以平滑地增加服務(wù)器的個數(shù)并建立集群服務(wù)器系統(tǒng),然后在各個服務(wù)器之間做負(fù)載均衡。有效地保護(hù)了原有硬件投資。
高性能:大多數(shù)CS結(jié)構(gòu)的軟件都是通過ODBC直接連到數(shù)據(jù)庫的,安全性差不說,其用戶數(shù)也是受限的。每個連到數(shù)據(jù)庫的用戶都會保持一個ODBC連接,都會一直占用中央服務(wù)器的資源,對中央服務(wù)器的要求非常高,使得用戶擴(kuò)充受到極大的限制。而BS結(jié)構(gòu)軟件則不同,所有的用戶都是通過一個JDBC連接緩沖池連接到數(shù)據(jù)庫的,用戶并不保持對數(shù)據(jù)庫的連接,用戶數(shù)基本上是無限的
總結(jié)
以上是生活随笔為你收集整理的python是偏向bs还是cs_CS与BS架构区别、比较、及现状与趋势分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fpga map测试_一种基于SELEC
- 下一篇: python利用特征进行可视化样本显示_