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