1. 程式人生 > >簡單介紹下C/S與B/S架構的異同

簡單介紹下C/S與B/S架構的異同

做過專案人都知道,現在軟體開發的整體架構主要分為B/S架構與C/S架構,選擇哪種架構不僅對於軟體開發公司很重要,也對應用企業很重要。現在就來分析下兩種架構的異同點:
一、C/S 架構
架構圖:
這裡寫圖片描述
1、 概念
C/S 架構是一種典型的兩層架構,其全程是Client/Server,即客戶端伺服器端架構,其客戶端包含一個或多個在使用者的電腦上執行的程式,而伺服器端有兩種,一種是資料庫伺服器端,客戶端通過資料庫連線訪問伺服器端的資料;另一種是Socket伺服器端,伺服器端的程式通過Socket與客戶端的程式通訊。
C/S 架構也可以看做是胖客戶端架構。因為客戶端需要實現絕大多數的業務邏輯和介面展示。這種架構中,作為客戶端的部分需要承受很大的壓力,因為顯示邏輯和事務處理都包含在其中,通過與資料庫的互動(通常是SQL或儲存過程的實現)來達到持久化資料,以此滿足實際專案的需要。
2 、優點和缺點
優點:
2.1 C/S架構的介面和操作可以很豐富。
2.2 安全效能可以很容易保證,實現多層認證也不難。
2.3 由於只有一層互動,因此響應速度較快。
缺點:
2.4 適用面窄,通常用於區域網中。
2.5 使用者群固定。由於程式需要安裝才可使用,因此不適合面向一些不可知的使用者。
2.6 維護成本高,發生一次升級,則所有客戶端的程式都需要改變。
二、B/S架構
架構圖:
這裡寫圖片描述


1、概念
B/S架構的全稱為Browser/Server,即瀏覽器/伺服器結構。Browser指的是Web瀏覽器,極少數事務邏輯在前端實現,但主要事務邏輯在伺服器端實現,Browser客戶端,WebApp伺服器端和DB端構成所謂的三層架構。B/S架構的系統無須特別安裝,只有Web瀏覽器即可。
B/S架構中,顯示邏輯交給了Web瀏覽器,事務處理邏輯在放在了WebApp上,這樣就避免了龐大的胖客戶端,減少了客戶端的壓力。因為客戶端包含的邏輯很少,因此也被成為瘦客戶端。
2 、優點和缺點
優點:
1)客戶端無需安裝,有Web瀏覽器即可。
2)BS架構可以直接放在廣域網上,通過一定的許可權控制實現多客戶訪問的目的,互動性較強。
3)BS架構無需升級多個客戶端,升級伺服器即可。
缺點:
1)在跨瀏覽器上,BS架構不盡如人意。
2)表現要達到CS程式的程度需要花費不少精力。
3)在速度和安全性上需要花費巨大的設計成本,這是BS架構的最大問題。
4)客戶端伺服器端的互動是請求-響應模式,通常需要重新整理頁面,這並不是客戶樂意看到的。(在Ajax風行後此問題得到了一定程度的緩解)
三、B/S對C/S的改進和擴充套件
正如前文所說,C/S和B/S都可以進行同樣的業務處理,但是B/S隨著Internet技術的興起,是對C/S結構的一種改進或者擴充套件的結構。相對於C/S,B/S具有如下優勢:
1、分佈性:可以隨時進行查詢、瀏覽等業務
2、業務擴充套件方便:增加網頁即可增加伺服器功能
3、維護簡單方便:改變網頁,即可實現所有使用者同步更新
4、開發簡單,共享性強,成本低,資料可以持久儲存在雲端而不必擔心資料的丟失。

四 C/S結構與B/S的區別
首先必須強調的是C/S和B/S並沒有本質的區別:
B/S是基於特定通訊協議(HTTP)的C/S架構,也就是說B/S包含在C/S中,
是特殊的C/S架構。
之所以在C/S架構上提出B/S架構,是為了滿足瘦客戶端、一體化客戶端的需要,
最終目的節約客戶端更新、維護等的成本,及廣域資源的共享。
(1)B/S屬於C/S,瀏覽器只是特殊的客戶端;
(2)C/S可以使用任何通訊協議,而B/S這個特殊的C/S架構規定必須實現HTTP協議;
(3)瀏覽器是一個通用客戶端,本質上開發瀏覽器,還是實現一個C/S系統