1. 程式人生 > >系統部署之B/S結構、C/S結構剖析

系統部署之B/S結構、C/S結構剖析

對於企業在部署其業務系統時,是選擇B/S結構還是選擇C/S結構,小編可不敢妄下斷言,不過由於工作的原因,筆者接觸過典型的C/S結構也接觸過B/S結構,工作內容主要是對公司的日常IT事務進行支援和維護,作為IT維護人員明顯感到C/S結構與B/S結構的不同,在此小編簡單整理了些資料與大家分享。

C/S Topology

C/S結構,即客戶機和伺服器(Client/Server)結構。它是軟體系統體系結構,通過它可以充分利用兩端硬體環境的優勢,將任務合理分配到Client端和Server端來實現,降低了系統的通訊開銷。並且伺服器端所承載的負荷也相對較輕,最簡單的c/s體系結構的資料庫應用由兩部分組成,即客戶應用程式和資料庫伺服器程式。二者可分別稱為前臺程式與後臺程式。執行資料庫伺服器程式的機器,也稱為應用伺服器。一旦伺服器程式被啟動,就隨時等待響應客戶程式發來的請求;客戶應用程式執行在使用者自己的電腦上,對應於資料庫伺服器,可稱為客戶端,當需要對資料庫中的資料進行任何操作時,客戶程式就自動地尋找伺服器程式,並向其發出請求,伺服器程式根據預定的規則作出應答,送回結果,這樣應用伺服器執行資料負荷較輕。

伺服器端通常採用高效能的PC、工作站或小型機,並採用大型資料庫系統,如Oracle、SQL Server。客戶端需要安裝專用的客戶端軟體。目前大多數應用軟體系統都是Client/Server形式的兩層結構。傳統的C/S體系結構雖然採用的是開放模式,但這只是系統開發一級的開放性,在特定的應用中無論是Client端還是Server端都需要特定的軟體支援。由於沒能提供使用者真正期望的開放環境,C/S結構的軟體需要針對不同的作業系統系統開發不同版本的軟體。筆者以前所在公司(連鎖超市類)的業務系統使用的是SAP,就是典型的C/S結構。對客戶端軟體進行升級、新增新功能模組、變更引數配置等,這些操作都需要投入較大的人力去完成,以一個Site有50個客戶端來講,平均每個維護人員負責2-3個Site,整個維護工作量絕對了得。另外,採用c/s架構,要選擇適當的資料庫平臺來實現資料庫資料的真正“統一”,使分佈於兩地的資料同步完全交由資料庫系統去管理,但邏輯上兩地的操作者要直接訪問同一個資料庫才能有效實現,這時就出現了一個問題,如果需要建立“實時”的資料同步,就必須在兩地間建立實時的通訊連線,保持兩地的資料庫伺服器線上執行,網路管理工作人員既要對伺服器維護管理,又要對客戶端維護和管理,這需要高昂的投資和複雜的技術支援,維護成本高,維護任務量也大。

B/S Topology

B/S結構,即瀏覽器/伺服器(Browser/Server)結構,客戶機上只需裝有瀏覽器(Browser),如WINDOWS內建的Internet Explorer,伺服器安裝Oracle、SQL Server等資料庫。瀏覽器通過Web Server 同資料庫進行資料互動。在這種結構下,使用者介面完全通過WWW瀏覽器實現,一部分事務邏輯在前端實現,但是主要事務邏輯在伺服器端實現,形成所謂3-tier結構。

* 3層結構系統(3-tier system),在3層結構系統中,將系統整體分為“客戶層”(使用者介面),“應用層”(商用邏輯),“資料層”(資料庫)3層。在客戶端只留下使用者介面,其餘均裝於伺服器上。客戶端只受理使用者的操作與表示應用層的處理結果。由於將應用軟體部分與客戶端分離以及安裝於伺服器上,在商用邏輯發生變更的情況,只須變更伺服器端的應用軟體便可,不會牽連到系統整體。

B/S架構的網路平臺不但可以在內部網路使用,而且在也可以在外部使用,如果在外部使用只要能上網就可以了,比較適合大型的、集團式的公司使用,特別在不同的地點有公司或店面或需要使用這個平臺的使用者。而C/S結構如果需要遠端連線,公司就需要在各Site部署IPSec VPN來實現。

目前,軟體系統的改進和升級越來越頻繁,b/s架構的產品明顯體現著更為方便的特性。對一個稍微大一點單位來說,系統管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但b/s架構的軟體只需要管理伺服器就行了,所有的客戶端只是執行瀏覽器,基本不需要做任何的維護。無論使用者的規模有多大,有多少分支機構都不會增加任何維護升級的工作量,所有的操作只需要針對伺服器進行。所以客戶機越來越“瘦”,而伺服器越來越“胖”,這也是將來資訊化發展的主流方向。今後,軟體升級和維護會越來越容易,而使用起來會越來越簡單。