宋 崴
[摘要]目前,對于系統(tǒng)開發(fā)分為C/S(client/Server)和B/S(Browser/Server)兩種結構,首先認識到這些結構的特征,對于系統(tǒng)的選型而言是很關鍵的。
[關鍵詞]B/S結構c/s結構系統(tǒng)模式
中圖分類號:TP3文獻標識碼:A文章編號:1671—7597(2009)0210061—01
隨著PC機的誕生與應用,計算模式從集中式(數(shù)據(jù)和應用程序在一臺主機上)轉(zhuǎn)向了分布式(數(shù)據(jù)和應用程序跨越多個節(jié)點機),尤為典型的是c/s結構(cllent/Server的簡稱,客戶機/服務器模式)。通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。兩層結構c/s模式,在上個世紀八十年代及九十年代初得到了大量應用,最直接的原因是可視化開發(fā)工具的推廣。隨著Internet的滲透,Web正在改變應用系統(tǒng)開發(fā)及實施的方法。C/S體系結構由單一的兩個層次擴展到由客戶、應用服務器、數(shù)據(jù)庫服務器組成的三層結構。有了統(tǒng)一的通信協(xié)議TCP/IP和統(tǒng)一的基于Web瀏覽器的用戶界面。
近年來,隨著網(wǎng)絡技術不斷發(fā)展,尤其是基于Web的信息發(fā)布和檢索技術、Java計算技術以及網(wǎng)絡分布式對象技術的飛速發(fā)展,導致了很多應用系統(tǒng)的體系結構從c/s結構向更加靈活的多級分布結構演變,使得軟件系統(tǒng)的網(wǎng)絡體系結構跨入一個新階段,即B/S體系結構(Browser/Server的簡稱,瀏覽器/服務器模式)。它是隨著Internet技術的興起,對c/s結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),但是主要事務邏輯在服務器端(server)實現(xiàn),形成所謂三層3-tier結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。
那么要為開發(fā)系統(tǒng)選擇結構,首先應從以下幾方面對c/s結構與B/s結構的特點進行解析。
一、系統(tǒng)硬件環(huán)境
C/S結構一般建立在局域網(wǎng)基礎上,局域網(wǎng)間再通過專門服務器提供連接和數(shù)據(jù)交換服務。通常采用高性能Pc、工作站或小型機并采用大型數(shù)據(jù)庫系統(tǒng)如Oracle、Sybase、Informix或SQLServer客戶端需要安裝專用客戶端軟件。
B/S結構建立在廣域網(wǎng)的基礎上,不必是專門網(wǎng)絡硬件環(huán)境,例如電話上網(wǎng),租用設備。信息自己管理。比C/S更強適應范圍,一般只要有操作系統(tǒng)和瀏覽器就可以了。
二、系統(tǒng)的性能
采用c/s結構時,客戶端和服務器端都能夠處理任務,雖然對客戶機的要求較高,但可以減輕服務器的壓力。由于客戶端實現(xiàn)與服務器的直接相連,沒有中間環(huán)節(jié),因此響應速度快。管理信息系統(tǒng)也具有較強的事務處理能力,能實現(xiàn)復雜的業(yè)務流程。但由于是針對性開發(fā),因此缺少通用性的特點,業(yè)務變更或改變不夠靈活,需要重新設計和開發(fā),增加了維護和管理的難度,進一步的業(yè)務拓展困難較多。
在系統(tǒng)性能方面,B/S結構占有優(yōu)勢的是其異地瀏覽和信息采集的靈活性。具有分布性特點,任何時間、任何地點、任何系統(tǒng),只要可以使用瀏覽器上網(wǎng),就可以使用B/S系統(tǒng)的終端。可是,采用B/S結構,客戶端只能完成瀏覽、查詢、數(shù)據(jù)輸入等簡單功能,絕大部分工作由服務器承擔,這使得服務器的負擔很重。并且,B/S結構缺乏對動態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理功能。功能弱化,難以實現(xiàn)傳統(tǒng)模式下的特殊功能要求。
三、系統(tǒng)的開發(fā)
C/S結構可以將客戶操作界面設計個性化,具有直觀、簡單、方便的特點,可以滿足客戶個性化的操作要求。但要求應用開發(fā)者自己去處理事務管理、消息隊列、數(shù)據(jù)的復制和同步、通信安全等系統(tǒng)級的問題。這對應用開發(fā)者提出了較高的要求,而且迫使應用開發(fā)者投入很多精力來解決應用程序以外的問題。這使得應用程序的維護、移植和互操作變得復雜。如果客戶端是在不同的操作系統(tǒng)上,C/S結構的軟件需要開發(fā)不同版本的客戶端軟件。兼容性差,對于不同的開發(fā)工具,具有較大的局限性。若采用不同工具,需要重新改寫程序。開發(fā)成本較高,需要具有一定專業(yè)水準的技術人員才能完成。
但是,B/S結構用戶界面完全通過wWW瀏覽器實現(xiàn)部分事務邏輯在前端實現(xiàn)但是主要事務邏輯在服務器端實現(xiàn)形成所謂3-tier結構。開發(fā)簡單,共享性強。能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN,WkN,Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫:它能有效地保護數(shù)據(jù)平臺和管理訪問權限,服務器數(shù)據(jù)庫也很安全。特別是在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構管理軟件更是方便、快捷、高效。
四、系統(tǒng)的升級維護
C/S結構分布功能弱,需要專門的客戶端安裝程序,針對點多面廣且不具備網(wǎng)絡條件的用戶群體,不能夠?qū)崿F(xiàn)快速部署安裝和配置。如果各部分模塊中有一部分改變,就要關聯(lián)到其它模塊的變動,使系統(tǒng)升級成本比較大。
B/S結構與c/s結構處理模式相比,則大大簡化了客戶端,只要客戶端機器能夠上網(wǎng)就可以。對于B/s而言,開發(fā)、維護等幾乎所有工作也都集中在服務器端,當企業(yè)對網(wǎng)絡應用進行升級時,只需更新服務器端的軟件,即可實現(xiàn)所有用戶的同步更新。這減輕了異地用戶系統(tǒng)維護與升級的成本。如果客戶端的軟件系統(tǒng)升級比較頻繁,那么B/s架構的產(chǎn)品優(yōu)勢明顯,所有的升級操作只需要針對服務器進行,這對那些點多面廣的應用是很有價值的,例如一些招聘網(wǎng)站就需要采用B/S結構模式,客戶端分散,且應用簡單,只需要進行簡單的瀏覽和少量信息的錄入。
五、系統(tǒng)的安全
c/s結構一般面向相對固定用戶群,對信息安全控制能力很強。一般高度機密信息系統(tǒng)采用c/s結構適宜??梢酝ㄟ^B/s發(fā)布部分可公開信息。
B/S結構建立在廣域網(wǎng)的基礎上,對安全控制能力相對比較弱,因為面向的是不可知用戶群。
以上是筆者客觀地分析了c/s結構和B/S結構的優(yōu)劣,為今后進行系統(tǒng)分析設計時提供一個良好的依據(jù)。盡管各種模式的產(chǎn)品在擁有自身優(yōu)勢的同時,也有一定的不足,對于用戶來講,對客戶端應用程序要求越來越高,既要求保持原有客戶端程序的操作方便性,又要求具有Web界面風格。所以現(xiàn)在在很多大型信息系統(tǒng)中也采用了B/s和c/s結構混合模式,使其取長補短,開發(fā)出更合理、實用的系統(tǒng)。