本文內容整理自http://blog.csdn.net/tennysonsky/article/details/45062079web
C/S架構和B/S架構是兩種頗具影響力的軟件體系結構。C/S是一種歷史悠久且技術很是成熟的架構;B/S是新生代架構,從C/S派生出來,有不少創新,在web信息時代虎虎生威。sql
1、C/S架構數據庫
一直很流行而且比較經典的是咱們要研究的兩層C/S架構。瀏覽器
C/S架構分爲客戶機和服務器兩層,第一層是用戶表示層,第二層是數據庫層。安全
客戶端和服務器直接相連,這兩個組成部分都承擔着重要的角色。第一層的客戶機並非只有輸入輸出,運算等能力,它能夠處理一些計算、數據存儲等方面的業務邏輯事務;第二層的服務器主要承擔事務邏輯處理,原本事務很重,可是因爲客戶機能夠分擔一些邏輯事務,因此減輕了服務器的負擔。服務器
2、B/S架構網絡
隨着Internet和WWW的流行,以往的主機/終端和C/S都沒法知足當前的全球網絡開放、互連、信息隨處可見和信息共享的新要求,因而就出現了B/S型模式,即瀏覽器/服務器結構。它是C/S架構的一種改進,能夠說屬於三層C/S架構。架構
客戶機spa 表示層:用於界面引導,接受用戶輸入,操作系統 並嚮應用服務器發送服務請求,顯示處理結果。
|
應用服務器 業務邏輯層:執行業務邏輯,向數據庫發送請求。 |
數據庫服務器 數據存儲層:執行數據邏輯,運行SQL或存儲過程。 |
第一層是瀏覽器,即客戶端,只有簡單的輸入輸出功能,處理極少部分的事務邏輯。因爲客戶不須要安裝客戶端,只要有瀏覽器就能上網瀏覽,因此它面向的是大範圍的用戶,因此界面設計得比較簡單,通用。
第二層是WEB服務器,扮演着信息傳送的角色。當用戶想要訪問數據庫時,就會首先向WEB服務器發送請求,WEB服務器贊成請求後,會向數據庫服務器發送訪問數據庫的請求,這個請求是以SQL語句實現的。
第三層是數據庫服務器,它扮演着重要的角色,由於它存放着大量的數據。當數據庫服務器收到了WEB服務器的請求後,會對sql語句進行處理,並將返回的結果發送給WEB服務器,接下來,WEB服務器將收到的數據結果轉換爲HTML文本形式發送給瀏覽器,也就是咱們打開瀏覽器看到的界面。
3、C/S架構和B/S架構的比較
比較項目 | C/S架構 | B/S架構 |
網絡環境 | 局域網 | 廣域網 |
安全要求 | 面向相對固定的用戶羣, 信息安全的控制能力很強 |
面向的是不可知的用戶羣, 對安全的控制能力相對弱 |
邏輯事務處理 | 客戶端和服務端各承擔一部分邏輯事務處理 |
客戶端只能進行簡單的輸入和輸出和信息發佈共享功能,主要的邏輯事務處理仍是要靠服務器 |
響應速度 | 快,尤爲是用戶增長時更加明顯 |
慢 |
軟件重用 | 差 | 好 |
系統維護 | 升級難 | 方便升級 |
用戶接口 | 與操做系統關係密切 | 跨平臺,與瀏覽器相關 |
數據庫鏈接類型 | ODBC鏈接,只要用戶鏈接了數據庫就一直保持鏈接不會斷開 限制了用戶數 |
JDBC鏈接,用戶並不保持對數據庫的鏈接,因此用戶幾乎是無限的 |
功能 | 較複雜,可以實現單一的複雜功能,如今大多數大型的ERP系統仍然是C/S架構 | 較弱,處理的事務邏輯較少,但界面比較通用 |
對技術人員的要求 | 較高 | 較低 |