C/S結構和B/S結構)

來源:互聯網
上載者:User
c/s 結構c/s(client/server)結構,即大家熟知的客戶機和伺服器結構。它是軟體系統體繫結構,通過它可以充分利用兩端硬體環境的優勢,將任務合理分配到client端和server端來實現,降低了系統的通訊開銷。目前大多數應用軟體系統都是client/server形式的兩層結構,由於現在的軟體應用系統正在向分布式的web應用發展,web和client/server應用都可以進行同樣的業務處理,應用不同的模組共用邏輯組件;因此,內部的和外部的使用者都可以訪問新的和現有的應用系統,通過現有應用系統中的邏輯可以擴充出新的應用系統。這也就是目前應用系統的發展方向。

 傳統的c/s體繫結構雖然採用的是開放模式,但這隻是系統開發一級的開放性,在特定的應用中無論是client端還是server端都還需要特定的軟體支援。由於沒能提供使用者真正期望的開放環境,c/s結構的軟體需要針對不同的作業系統系統開發不同版本的軟體,加之產品的更新換代十分快,已經很難適應百台電腦以上區域網路使用者同時使用。而且代價高,效率低。

b/s結構
 b/s(browser/server)結構即瀏覽器和伺服器結構。它是隨著internet技術的興起,對c/s結構的一種變化或者改進的結構。在這種結構下,使用者工作介面是通過www瀏覽器來實現,極少部分事務邏輯在前端
(browser)實現,但是主要事務邏輯在伺服器端(server)實現,形成所謂三層3-tier結構。這樣就大大簡化了用戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了使用者的總體成本(tco)。

以目前的技術看,區域網路建立b/s結構的網路應用,並通過internet/intranet模式下資料庫應用,相對易於把握、成本也是較低的。它是一次性到位的開發,能實現不同的人員,從不同的地點,以不同的接入方式(比如lan,wan,internet/intranet等)訪問和操作共同的資料庫;它能有效地保護資料平台和管理存取權限,伺服器資料庫也很安全。特別是在java這樣的跨平台語言出現之後,b/s架構管理軟體更是方便、快捷、高效。

管理軟體主流技術
 管理軟體技術的主流技術與管理思想一樣,也經曆了三個發展時期。首先,介面技術從上世紀dos字元介面到windows圖形介面(或圖形化使用者介面gui),直至browser瀏覽器介面三個不同的發展時期。其次,今天所有電腦的瀏覽器介面,不僅直觀和便於使用,更主要的是基於瀏覽器平台的任何應用軟體其風格都是一樣的,使用人對操作培訓的要求不高,而且軟體可操作性強,易於識別;再者,平台體繫結構也從過去單使用者發展到今天的檔案/伺服器(f/s)體系、客戶機/伺服器(c/s)體系和瀏覽器/伺服器(b/s)體系。

c/s和b/s之比較
 c/s和b/s是當今世界開發模式技術架構的兩大主流技術。c/s是美國borland公司最早研發,b/s是美國微軟公司研發。目前,這兩項技術以被世界各國所掌握,國內公司以c/s和b/s技術開發出產品也很多。這兩種技術都有自己一定的市場份額和客戶群,各家企業都說自己的管理軟體架構技術功能強大、先進、方便,都能舉出各自的客戶群體,都有一大群文人墨客為自己搖旗呐喊,廣告滿天飛,可謂仁者見仁,智者見智。
c/s架構軟體的優勢與劣勢
(1)、應用伺服器運行資料負荷較輕。
 最簡單的c/s體繫結構的資料庫應用由兩部分組成,即客戶應用程式和資料庫伺服器程式。二者可分別稱為前景程式與背景程式。運行資料庫伺服器程式的機器,也稱為應用伺服器。一旦伺服器程式被啟動,就隨時等待響應客戶程式發來的請求;客戶應用程式運行在使用者自己的電腦上,對應於資料庫伺服器,可稱為客戶電腦,當需要對資料庫中的資料進行任何操作時,客戶程式就自動地尋找伺服器程式,並向其發出請求,伺服器程式根據預定的規則作出應答,送回結果,應用伺服器運行資料負荷較輕。

(2)、資料的儲存管理功能較為透明。
 在資料庫應用中,資料的儲存管理功能,是由伺服器程式和客戶應用程式分別獨立進行的,前台應用可以違反的規則,並且通常把那些不同的(不管是已知還是未知的)運行資料,在伺服器程式中不集中實現,例如訪問者的許可權,編號可以重複、必須有客戶才能建立定單這樣的規則。所有這些,對於工作在前景程式上的終端使用者,是“透明”的,他們無須過問(通常也無法幹涉)背後的過程,就可以完成自己的一切工作。在客戶服務器架構的應用中,前景程式不是非常“瘦小”,麻煩的事情都交給了伺服器和網路。在c/s體系的下,資料庫不能真正成為公用、專業化的倉庫,它受到獨立的專門管理。

(3)、c/s架構的劣勢是高昂的維護成本且投資大。
 首先,採用c/s架構,要選擇適當的資料庫平台來實現資料庫資料的真正“統一”,使分佈於兩地的資料同步完全交由資料庫系統去管理,但邏輯上兩地的操作者要直接存取同一個資料庫才能有效實現,有這樣一些問題,如果需要建立“即時”的資料同步,就必須在兩地間建立即時的通訊串連,保持兩地的資料庫伺服器線上運行,網路管理工作人員既要對伺服器維護管理,又要對用戶端維護和管理,這需要高昂的投資和複雜的支援人員,維護成本很高,維護任務量大。
 其次,傳統的c/s結構的軟體需要針對不同的作業系統系統開發不同版本的軟體,由於產品的更新換代十分快,代價高和低效率已經不適應工作需要。在java這樣的跨平台語言出現之後,b/s架構更是猛烈衝擊c/s,並對其形成威脅和挑戰。

b/s架構軟體的優勢與劣勢
(1)、維護和升級方式簡單。
 目前,軟體系統的改進和升級越來越頻繁,b/s架構的產品明顯體現著更為方便的特性。對一個稍微大一點單位來說,系統管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但b/s架構的軟體只需要管理伺服器就行了,所有的用戶端只是瀏覽器,根本不需要做任何的維護。無論使用者的規模有多大,有多少分公司都不會增加任何維護升級的工作量,所有的操作只需要針對伺服器進行;如果是異地,只需要把伺服器串連專網即可,實現遠程維護、升級和共用。所以客戶機越來越“瘦”,而伺服器越來越“胖”是將來資訊化發展的主流方向。今後,軟體升級和維護會越來越容易,而使用起來會越來越簡單,這對使用者人力、物力、時間、費用的節省是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶機,“胖”伺服器。

(2)、成本降低,選擇更多。
 大家都知道windows在案頭電腦上幾乎一統天下,瀏覽器成為了標準配置,但在伺服器作業系統上windows並不是處於絕對的統治地位。現在的趨勢是凡使用b/s架構的應用管理軟體,只需安裝在linux伺服器上即可,而且安全性高。所以伺服器作業系統的選擇是很多的,不管選用那種作業系統都可以讓大部分人使用windows作為案頭作業系統電腦不受影響,這就使的最流行免費的linux作業系統快速發展起來,linux除了作業系統是免費的以外,連資料庫也是免費的,這種選擇非常盛行。
 比如說很多人每天上“網易”網,只要安裝了瀏覽器就可以了,並不需要瞭解“網易”的伺服器用的是什麼作業系統,而事實上大部分網站確實沒有使用windows作業系統,但使用者的電腦本身安裝的大部分是windows作業系統。

(3)、應用伺服器運行資料負荷較重。
 由於b/s架構管理軟體只安裝在伺服器端(server)上,網路管理員只需要管理伺服器就行了,使用者介面主要事務邏輯在伺服器(server)端完全通過www瀏覽器實現,極少部分事務邏輯在前端(browser)實現,所有的用戶端只有瀏覽器,網路管理員只需要做硬體維護。但是,應用伺服器運行資料負荷較重,一旦發生伺服器“崩潰”等問題,後果不堪設想。因此,許多單位都備有資料庫儲存伺服器,以防萬一。

c/s與b/s區別
 client/server是建立在區域網路的基礎上的,browser/server是建立在廣域網路的基礎上的。
(1)、硬體環境不同:c/s一般建立在專用的網路上,小範圍裡的網路環境,區域網路之間再通過專門伺服器提供串連和資料交換服務。

 b/s建立在廣域網路之上的,不必是專門的網路硬體環境,例如電話上網,租用裝置,資訊自己管理,有比c/s更強的適應範圍,一般只要有作業系統和瀏覽器就行。

(2)、對安全要求不同
 c/s一般面向相對固定的使用者群,對資訊安全的控制能力很強。一般高度機密的資訊系統採用c/s結構適宜,可以通過b/s發布部分可公開資訊。

 b/s建立在廣域網路之上,對安全的控制能力相對弱,面向是不可知的使用者群。

(3)、對程式架構不同
 c/s程式可以更加註重流程,可以對許可權多層次校正,對系統運行速度可以較少考慮。

 b/s對安全以及訪問速度的多重的考慮,建立在需要更加最佳化的基礎之上。比c/s有更高的要求,b/s結構的程式架構是發展的趨勢,從ms的.net系列的biztalk2000exchange2000等,全面支援網路的構件搭建的系統。sun和ibm推的javabean構件技術等,使b/s更加成熟。

(4)、軟體重用不同
 c/s程式可以不可避免的整體性考慮,構件的重用性不如在b/s要求下的構件的重用性好。
 b/s對的多重結構,要求構件相對獨立的功能。能夠相對較好的重用。

(5)、系統維護不同
 系統維護是軟體生存周期中,開銷大,相當重要
c/s程式由於整體性,必須整體考察,處理出現的問題以及系統升級難,可能是再做一個全新的系統。
b/s構件組成方面構件個別的更換,實現系統的無縫升級。系統維護開銷減到最小,使用者從網上自己下載安裝就可以實現升級。

(6)、處理問題不同
 c/s程式可以處理使用者面固定,並且在相同地區,安全要求高的需求,與作業系統相關,應該都是相同的系統。
 b/s建立在廣域網路上,面向不同的使用者群,分散地區,這是c/s無法作到的,與作業系統平台關係最小。

(7)、使用者介面不同
c/s多是建立在window平台上,表現方法有限,對程式員普遍要求較高。
b/s建立在瀏覽器上,有更加豐富和生動的表現方式與使用者交流,並且大部分難度減低,降低開發成本。

(8)、資訊流不同
c/s程式一般是典型的中央集權的機械式處理,互動性相對低。
b/s資訊流向可變化,b-b、b-c、b-g等資訊流向的變化,更象交易中心。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.