軟件程序設(shè)計使用中的 C/S 和 B/S 結(jié)構(gòu)概念及對比
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
1. 什么是 C/S 結(jié)構(gòu) C/S(Client/Server)結(jié)構(gòu),即客戶機和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu)的一種形式,通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到 Client 端和 Server 端來實現(xiàn),從而降低系統(tǒng)的通訊開銷。 C/S 結(jié)構(gòu)可以看作是胖客戶端架構(gòu)??蛻舳素?fù)責(zé)絕大多數(shù)的業(yè)務(wù)邏輯處理和界面展示,因此需要承受較大的壓力,同時也充分利用了客戶端的資源。這種架構(gòu)對客戶機的性能要求較高。 其實現(xiàn)方式可以是客戶端包含一個或多個在用戶電腦上運行的程序,而服務(wù)器端有兩種類型:一種是數(shù)據(jù)庫服務(wù)器端,客戶端通過數(shù)據(jù)庫連接訪問服務(wù)器端的數(shù)據(jù);另一種是 Socket 服務(wù)器端,服務(wù)器端的程序通過 Socket 與客戶端的程序通信。 目前大多數(shù)應(yīng)用軟件系統(tǒng)都是基于 Client/Server 的兩層結(jié)構(gòu)。然而,隨著軟件應(yīng)用系統(tǒng)逐漸向分布式的 Web 應(yīng)用發(fā)展,Web 和Client/Server 應(yīng)用都可以進行同樣的業(yè)務(wù)處理,并且不同的模塊可以共享邏輯組件。因此,內(nèi)部和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴展出新的應(yīng)用系統(tǒng)。這是當(dāng)前應(yīng)用系統(tǒng)的發(fā)展方向。 傳統(tǒng)的 C/S 體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性。在特定的應(yīng)用中,無論是 Client 端還是 Server 端,都需要特定的軟件支持。由于未能提供用戶真正期望的開放環(huán)境,C/S 結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)開發(fā)不同版本的軟件。加之產(chǎn)品的更新?lián)Q代非???,已經(jīng)很難適應(yīng)百臺電腦以上的局域網(wǎng)用戶同時使用。此外,這種方式成本高、效率低。 2. 什么是 B/S 結(jié)構(gòu) B/S(Browser/Server)結(jié)構(gòu),即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著 Internet 技術(shù)的興起,對 C/S 結(jié)構(gòu)的一種變化或改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面通過 Web 瀏覽器實現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),而主要事務(wù)邏輯在服務(wù)器端(Server)實現(xiàn),形成所謂的三層結(jié)構(gòu)。這樣就大大簡化了客戶端電腦的負(fù)載,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。 B/S 結(jié)構(gòu)可以看作是瘦客戶端,它將較少的顯示邏輯交給 Web 瀏覽器處理,而將事務(wù)邏輯和數(shù)據(jù)處理放在 Server 端,避免了龐大的胖客戶端,減少了客戶端的壓力。B/S 結(jié)構(gòu)的系統(tǒng)無需特別安裝,只需有 Web 瀏覽器即可。 以目前的技術(shù)來看,在局域網(wǎng)中建立 B/S 結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用并通過 Internet/Intranet 模式下的數(shù)據(jù)庫應(yīng)用,相對易于把握且成本較低。它是一次性到位的開發(fā)方式,能夠?qū)崿F(xiàn)不同人員從不同地點以不同的接入方式(如 LAN、WAN、Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫。它還能有效保護數(shù)據(jù)平臺并管理訪問權(quán)限,確保服務(wù)器數(shù)據(jù)庫的安全。 3. C/S 和 B/S 結(jié)構(gòu)的優(yōu)缺點 (1) B/S 結(jié)構(gòu)的優(yōu)缺點 優(yōu)點: <1>. 無需安裝,客戶端只需有瀏覽器即可。 <2>. 分布性強,可以隨時隨地進行查詢、瀏覽等業(yè)務(wù)處理。 <3>. 業(yè)務(wù)擴展便捷,通過增加頁面即可增加服務(wù)器功能。 <4>. 升級維護便捷,只需升級服務(wù)器即可實現(xiàn)所有用戶的同步更新。 <5>. 共享性強,可以直接放在廣域網(wǎng)上,通過一定的權(quán)限控制實現(xiàn)多客戶訪問的目的,交互性較強。 缺點: <1>. 在跨瀏覽器兼容性方面不盡如人意。 <2>. 在速度和安全性上需要花費較多設(shè)計成本,響應(yīng)速度不及 C/S。隨著 AJAX 技術(shù)的發(fā)展,相比傳統(tǒng) B/S 結(jié)構(gòu)軟件的速度有了很大提升。 <3>. 用戶體驗不夠理想,B/S 需要單獨進行界面設(shè)計,各瀏覽器廠商對瀏覽器解析的標(biāo)準(zhǔn)不同。 <4>. 客戶端與服務(wù)器端的交互采用請求-響應(yīng)模式,通常需要刷新頁面,這并不是客戶樂意看到的(Ajax 技術(shù)流行后此問題得到了一定程度的緩解)。 (2) C/S 結(jié)構(gòu)的優(yōu)缺點 優(yōu)點: <1>. C/S 結(jié)構(gòu)的界面和操作簡單豐富。 <2>. C/S 結(jié)構(gòu)的管理信息系統(tǒng)具有較強的事務(wù)處理能力。 <3>. C/S 結(jié)構(gòu)的安全性能容易保證,實現(xiàn)多層認(rèn)證也不難。 <4>. C/S 結(jié)構(gòu)的響應(yīng)速度快,由于客戶端直接與服務(wù)器相連,沒有中間環(huán)節(jié),只有一層交互,因此響應(yīng)速度較快。 缺點: <1>. 適用面窄,通常用于局域網(wǎng)中。 隨著互聯(lián)網(wǎng)的飛速發(fā)展,移動辦公和分布式辦公越來越普及,這需要系統(tǒng)具有擴展性。這種方式遠(yuǎn)程訪問需要專門的技術(shù),同時需要對系統(tǒng)進行專門的設(shè)計來處理分布式的數(shù)據(jù)。 <2>. 客戶端需要安裝專用的客戶端軟件。 由于程序需要安裝才能使用,因此不適合面向一些不可知的用戶。涉及到安裝的工作量較大,任何一臺電腦出現(xiàn)問題(如病毒、硬件損壞),都需要進行安裝或維護。特別是有很多分部或?qū)Yu店的情況下,不是工作量的問題,而是路程的問題。 <3>.維護升級成本高,進行一次維護升級,需要重新安裝所有客戶端的程序。 <4>. 對客戶端的操作系統(tǒng)一般會有限制,可能適應(yīng)于 Win XP,但不能用于 Win 7 或 Win10,或者不適用于微軟的新操作系統(tǒng),還有 Linux、Unix 等操作系統(tǒng)。 該文章在 2025/6/19 18:35:47 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |