系統結構淺析(C/S ,B/S,SmartClient)

來源:互聯網
上載者:User

C/S 結構

 

C/S結構即CLIENT/SERVER結構。傳統的C/S結構一般分為兩層:用戶端和伺服器端。該結構的基本工作原理是,客戶程式向資料服務器發送SQL請求,伺服器返回資料和結果。用戶端負責實現使用者介面功能,同時封裝了部分應用邏輯。伺服器端的資料庫伺服器主要提供資料存放區功能,也通過觸發器和預存程序提供部分應用邏輯。除了兩層結構,我們還可以根據實際需要分成多個邏輯層結構來組織整個系統如三層的結構C/S/S:即客戶/應用伺服器/資料庫伺服器三層結構,中間增加了應用伺服器,通常實現應用邏輯,是串連客戶與資料庫伺服器的橋樑。它響應使用者發來的請求執行某種業務任務,並與資料庫伺服器打交道,技術實現上通常可選用成熟的中介軟體產品,也可以自已實現這一層.

  三層或多層C/S結構與兩層C/S結構相比,它的優勢主要表現在:安全性加強、效率提高、易於維護、延展性、可共用性、開放性好等。

C/S 結構的優缺點

優點:
1.C/S結構的表現豐富。
2.安全與效能容易得到保證。
3.響應速度較快。

缺點:
1.適用面窄,通常用於區域網路中。
2.程式需要安裝才可使用。
3.維護成本高,發生一次升級,則所有用戶端的程式都需要改變。

B/S結構

B/S架構的全稱為Browser/Server,即瀏覽器/伺服器結構。Browser指的是Web瀏覽器,極少數事務邏輯在前端實現,但主要事務邏輯在伺服器端實現,Browser用戶端,WebApp伺服器端和DB端構成所謂的三層架構。B/S架構的系統無須特別安裝,只有Web瀏覽器即可。
B/S架構中,顯示邏輯交給了Web瀏覽器,交易處理邏輯在放在了WebApp上,這樣就避免了龐大的胖用戶端,減少了用戶端的壓力。因為用戶端包含的邏輯很少,因此也被成為瘦用戶端。

B/S架構的優缺點

優點:
1)用戶端無需安裝,有Web瀏覽器即可。
2)BS架構可以直接放在廣域網路上,通過一定的許可權控制實現多客戶訪問的目的,互動性較強。
3)易於部署與維護,無需升級多個用戶端,升級伺服器即可。

缺點:
1)在跨瀏覽器上,BS架構不盡如人意。
2)表現不及CS豐富。
3)必須線上工作,工作效率和網路是否延遲有關。
4)在速度和安全性上需要花費巨大的設計成本,這是BS架構的最大問題。
5)無狀態,與它取用協議有關。用戶端伺服器端的互動是要求-回應模式,網路傳輸量大,通常需要重新整理頁面,這並不是客戶樂意看到的。(在Ajax風行後此問題得到了一定程度的緩解)

SmartClient結構

整合前兩種結構優點,采它們長處放棄短處.此結構擁有以下特點:

1)        充分利用終端裝置的優勢 (full PC, PDA, phone都可以滿足),因為核心部分在服務端(可能Web Service),所以終端只需實現展示層和一些簡單邏輯;

2)       更鬆散的耦合,如:可採用調用 web services(或其方式如:Enterprise Services,.NET remoting,Message Queuing-訊息佇列,COM+等,由於作者只是要從事微軟技術研究,所以只提到微軟技術,不過也可以使用其他公司技術.),在server端用web服務實現商務邏輯,處理各種請求,需要說明的是,由於商務邏輯實現放在用戶端,因此一方面為用戶端瘦身,另一方面也加強了軟體的隱蔽性和安全性;

3)        支援線上和離線兩種狀態,使用者可以在網路不可用時繼續工作,並將資料臨時存放在本地,當網路再次可用,資料便可傳上伺服器;

4)        能夠實現所謂零接觸部署,如同Web應用程式一般簡單方便的部署,.NET使用程式集技術,同一軟體的不同版本可以共存於統一用戶端。版本的升級也非常簡單,軟體訪問服務端,能自動檢測版本號碼,從而更新關鍵組件,實現升級。

 

智能用戶端技術是可能會成下一代用戶端技術,它能夠在有網路連接和網路斷開的情況下靈活地工作。對使用者而言,這將是新的一種軟體使用體驗,能同時擁有C/S模式軟體快速的反應、豐富的使用者介面體驗和瘦用戶端模式那樣簡單的部署,升級。對開發人員而言,開發的難度變大了,考慮的方面多了,但還是有靈活的方案可供選擇,還可以結合.NET技術,使用面向服務或面向資料的解決方案,在開發中,要著重解決“串連的管理”,“WEB服務的互動”,“本機資料緩衝”和“資料衝突處理”的技術點。

 

 

註:其實第三種結構還不算是一個正規系統結構命名,國家出版教科書中並沒有這個結構,此技術在於2003年左右推出,05年微軟強推了一陣,後來出現Click Once技術.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.