[摘 要] 本文介紹了Client/Server與Browser/Server的結構特點,分析和比較了兩種體系結構下開發應用軟件的優勢與不足。結合實例,提出采用C/S和B/S混合結構的體系來開發安全、高效的系統。
[關鍵詞] C/S B/S 混合結構
隨著計算機軟硬件和網絡技術的不斷發展,給傳統應用軟件的開發帶來了深刻的影響,計算機軟件體系結構從單機結構發展到基于網絡的體系結構。基于網絡和Web的軟件和應用系統無疑成為更開放和靈活的體系結構,其中C/S和B/S成為當今世界開發模式技術架構的兩大主流技術。
一、C/S結構介紹
C/S(Client/Server)結構,即客戶機和服務器結構。通過該軟件體系結構可以充分利用兩端硬件環境的優勢,將任務合理分配到Client端和Server端來實現,降低了系統的實際開銷。C/S結構按照其體系結構分為兩層和三層結構。
C/S兩層結構:前端是客戶機,即結合了顯示邏輯與事務處理邏輯,接受用戶的輸入請求,并向數據庫服務提出請求。后端是服務器,即數據處理邏輯和數據庫,將數據提交給客戶端,客戶端將數據進行計算并將結果呈現給用戶。
C/S三層結構:表示層是應用的用戶接口部分,它擔負著用戶與應用間的對話功能。
功能層是應用的主體,它用程序的方式將將具體的事務處理邏輯表現出來。
數據層是應用的數據部分,即DBMS(數據庫管理系統),負責管理對數據庫數據的讀寫。三層結構是個更靈活的體系結構,它把顯示邏輯與事務處理邏輯分開,讓事務處理邏輯成為獨立處于中間的功能層。程序與用戶接口和數據庫保持相對獨立性,具有更好的移植性,有利于系統擴展。
C/S體系結構雖然采用的是開放模式,但只是系統開發過程中的開放性,在特定應用中無論是Client端還是Server端都還需要特定的軟件支持,需要針對不同的操作系統系統開發不同版本的軟件,導致它的維護和升級比較困難。
二、B/S結構介紹
B/S(Browser/Server)結構,即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在B/S結構中,用戶工作界面和少部分事務邏輯是通過瀏覽器(Browser)來實現,其主要事務邏輯在服務器端(Server)實現。這樣就大大簡化了客戶端電腦負荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本。
在B/S結構中,處于第一層的是瀏覽器,可以采用Windows的IE瀏覽器或者其他常用瀏覽器。處于第二層的是Web服務器,由一臺或多臺服務器組成,可以采用IIS或者Apache等軟件進行搭建,該層具有良好的可擴充性,可以隨著應用的需要增加服務器的數目。處于第三層的是數據庫服務器,由數據庫系統和管理系統組成,可以根據實際需要采用SQL Server或者Oracle等常用DBMS。
B/S的基本工作模式是:
1.瀏覽器根據用戶操作對Web服務器提出訪問請求。
2.Web服務器將請求分析處理,通過數據接口訪問DBMS以進行數據的查詢統計或事務的提交。
3.處理邏輯根據DBMS返回的結果生成HTML網頁經過服務器向客戶的瀏覽器返回結果。
4.顯示邏輯-瀏覽器(Browser)將HTML結果顯示給用戶。
以目前的技術看,建立基于B/S結構的網絡應用,并通過Internet/Intranet結構下數據庫應用,相對容易把握、成本也是較低的。能實現不同的人員,從不同的地點,以不同的接入方式訪問和操作共同的數據庫。能有效地保護數據平臺和管理訪問權限,服務器數據庫也相對安全。
三、C/S和B/S結構比較與分析
1.系統的維護與升級
C/S系統的維護與升級,必須從整體進行考察。部分模塊的改變,可能影響到其它模塊,使系統維護和升級成本比較大。對于B/S而言,開發、維護等幾乎所有工作集中在服務器端,當需要對系統進行升級時,只需更新服務器端的程序即可,減輕了系統維護與升級的成本。
2.用戶的操作與使用
對于C/S模式,由于客戶端程序有自己特定的使用方法和要求,用戶需要接受專門使用培訓,但在用戶交互性、錯誤提示、在線幫助等方面有強大的功能。對于B/S模式,客戶端程序只是一個簡單易用的瀏覽器軟件。管理員和用戶無需培訓,就可以直接使用,但用戶交互性、錯誤提示等功能相對較弱。
3.系統結構的安全性
由于C/S是配對的點對點的結構模式,可以采用適用于局域網、安全性比較好的網絡協議,安全性可以得到較好的保證。必須安裝客戶端程序且具有相應權限,才能與服務器端進行交互,從而保證系統的安全性。而B/S采用一點對多點、多點對多點這種開放的結構模式,并采用TCP/IP等運用于網絡的開放性協議,用戶可以直接利用WWW瀏覽器進行服務器的探測和訪問,系統安全性相對較弱。
四、C/S和B/S混合結構的實際應用
通過上面的分析我們可以看到,C/S結構和B/S結構分別具有自己的優勢和不足。因此我們可以在實際的設計與開發過程中,可以考慮采用C/S與B/S相混合的結構。相對于單獨采用C/S或B/S,這種方案的優點在于:
1.保證數據的安全性和統一性,可以加強對數據庫的管理控制。
2.有效地利用內部計算機的資源,簡化了部分客戶端的開發與使用。
3.保證復雜功能的交互性和普通功能的易用與統一。
4.系統維護和升級簡便,布局合理,網絡使用效率較高。
在對學院身份識別系統的系統設計過程中,系統結構設計采用了C/S和B/S的混合結構。將系統的所有子功能分類,分析哪些功能適合采用C/S,哪些適合采用B/S。
適合采用C/S的子功能具備以下特點:
(1)要求具有較強的交互性,客戶端由于需要與考勤機進行通訊,單純的瀏覽器(Browser)無法完成該功能。
(2)使用范圍小,地點固定。客戶端安裝在樓宇的值班室,地點相對固定。
(3)要求處理大量數據。由于要與考勤機進行頻繁的交互,數據的吞吐量相對較大。
適合采用B/S的子功能具備以下特點:
①使用范圍廣,地點靈活。對于需要進行數據管理和維護的人員,地點相對分散,所以可以采用瀏覽器+相應權限進行管理和維護。
②維護和升級相對頻繁。由于系統在使用過程中,可能會發生適應性維護,可以將系統的管理部分采用B/S結構。
數據的統一性。將系統所需要的數據集中放在數據服務器端,保證數據的統一性和惟一性。
客戶端采用VC進行開發,采用了基于單文檔的結構,其視圖類的基類采用CHtmlView類,目的是用來顯示從服務器端返回的網頁內容。
服務器端采用JSP進行開發,使用Apache Tomcat進行發布,后臺數據庫采用SQL Server,目的是接受客戶端發送的數據,查詢完畢后返回給客戶端顯示。
五、結束語
綜上所述,采用B/S應用結構并不一定要全部取代傳統的C/S結構,從某種意義上二者應用界限并不清晰,而且往往是互相補充、相輔相成的。在實際應用中可以根據實際需要將B/S結構和C/S結構結合起來,開發出具有安全、高效和較強交互性的系統。
參考文獻:
[1]呂延崗 張紅瑞等:基于C/S和B/S混合模式的身份識別系統的設計與實現[J].計算機與數字工程,2008,(8)
[2]鐘 睿 洪 蕾:MIS開發模式的策略研究[J].現代商貿工業,2008,(4)
[3]肖敏 熊前興等:基于C/S與B/S混合模式的應用研究[J]. 武漢理工大學學報,2006,(3)