C/S又稱Client/Server或客戶/伺服器模式。伺服器通常採用高效能的PC、工作站或小型機,並採用大型資料庫系統,如Oracle、Sybase、Informix或 SQL Server。用戶端需要安裝專用的用戶端軟體。
B/S是Brower/Server的縮寫,客戶機上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,伺服器安裝Oracle、Sybase、Informix或 SQL Server等資料庫。瀏覽器通過Web Server 同資料庫進行資料互動。
C/S的優點是能充分發揮用戶端PC的處理能力,很多工作可以在用戶端處理後再提交給伺服器。對應的優點就是用戶端響應速度快。缺點主要有以下幾個:
只適用於區域網路。而隨著互連網的飛速發展,隨處工作和分布式辦公越來越普及,這需要我們的系統具有擴充性。這種方式遠端存取需要專門的技術,同時要對系統進行專門的設計來處理分布式的資料。
用戶端需要安裝專用的用戶端軟體。首先涉及到安裝的工作量,其次任何一台電腦出問題,如病毒、硬體損壞,都需要進行安裝或維護。特別是有很多分部或專賣店的情況,不是工作量的問題,而是路程的問題。還有,系統軟體升級時,每一台客戶機需要重新安裝,其維護和升級成本非常高。
對用戶端的作業系統一般也會有限制。可能適應於Win98, 但不能用於win2000或Windows XP。或者不適用於微軟新的作業系統等等,更不用說Linux、Unix等。
B/S最大的優點就是可以在任何地方進行操作而不用安裝任何專門的軟體。只要有一台能上網的電腦就能使用,用戶端零維護。系統的擴充非常容易,只要能上網,再由系統管理員分配一個使用者名稱和密碼,就可以使用了。甚至可以線上申請,通過公司內部的安全認證(如CA認證)後,不需要人的參與,系統可以自動分配給使用者一個帳號進入系統。
什麼是N層結構?它有什麼優點?
A:N層架構的四層是指Presentation Tier(展示層,就是直接呈現在使用者面前的介面)、Web Server Tier(Web伺服器層)、 Application Server Tier(應用伺服器層)和 Data Tier(資料層).
N層結構是相對於兩層結構而言的。傳統的C/S計算多是基於兩級模式,在這種模式中,所有的形式邏輯和商務邏輯均駐留在Client端,而Server則成為資料庫伺服器,負責各種資料的處理和維護。因此Server變得很“瘦”,被稱為“瘦伺服器 (Thin Server)”。與之相反,這種模式需要在用戶端運行龐大的應用程式,這就是所謂的“胖客戶機 (Fat Client)”。
這種結構有如下主要問題:
首先,系統的可靠性有所降低。一個客戶機/伺服器系統是由各自獨立開發、製造和管理的各種硬體和軟體的混合體,其內在的可靠性不如單一的、中央管理的大型主機或小型機,出現問題時,很難立即獲得支援人員和協助。
其次,維護費用較高。儘管這種應用模式在某種程度上提高了生產效率,由於用戶端需要安裝龐大而複雜的應用程式,當網路使用者的規模達到一定的數量之後,系統的維護量急劇增加,因而維護應用系統變得十分困難。
第三,系統資源的浪費。隨著用戶端的規模越來越大,對客戶機資源的要求也越來越高。儘管硬體不斷更新,但新的作業系統和新的應用軟體的不斷出現,使得使用者對硬體的更新仍然跟不上軟體更新的速度。客戶不得不在本地硬碟上裝入大量的軟體,但是使用的大都只是其中很少一部分(一般低於10%)。在一個擁有眾多的“胖客戶機”的環境中,這無疑是一種巨大的浪費。
最後,系統缺乏靈活性。由於邏輯同介面結合在一起,客戶機/伺服器需要對每一應用獨立地開發應用程式,缺少重用性。但胖客戶機的計算模式卻仍然滿足不了日益增長的應用的需要。在向廣域網路擴充(如Internet)的過程中,由於資訊量的迅速增大,專用的用戶端已經無法滿足多功能的需求。網路計算模式從兩層模式擴充到N層模式,並且結合動態計算,解決了這一問題。
N層架構的核心是提供可規模化特性,一方面是從服務負載上可規模化,能同時為極大規模的使用者同時提供服務;另一方面是服務功能上的可規模化,可形成極大規模的軟體群系統,各分系統可以共用資訊、服務,形成企業級的資訊高速公路。 N層可以分別放在各自不同的硬體系統上的,所以靈活性很高,能夠適應客戶機數目的增加和處理負荷的變動。例如,在追加新業務處理時,可以相應增加裝載功能層的伺服器。因此,系統規模越大這種形態的優點就越顯著。
另外,N層結構從邏輯上相互獨立,某一層的變動通常不影響其它層,具有很高的可重用性。除此以外,n層結構還有以下優點:
1、利用單一的訪問點,可以在任何地方訪問網站的資料庫;
2、對於各種資訊源,不論是文本還是圖形都採用相同的介面;
3、所有的資訊,不論其基於的平台,都可以用相同的介面訪問;
4、可跨平台操作;
5、減少整個系統的成本;
6、維護升級十分方便;
7、具有良好的開放性;
8、進行嚴密的安全管理;
9、系統管理簡單,可支援異種資料庫,有很高的可用性
介面層負責:
收集資訊
將資訊發送到邏輯層做處理
邏輯層接收處理結果
將結果顯示
......
邏輯層負責:
接收介面輸入
與資料層互動執行已設計的業務
操作(商務邏輯,系統服務等)
將處理結果發送到介面層。
......
資料層負責:
資料存放區
資料擷取
資料維護
資料完整性
......