- Java Web從入門到精通(第3版)
- 明日科技
- 1411字
- 2020-06-29 17:33:49
1.1 程序開發體系結構
隨著網絡技術的不斷發展,單機的軟件程序已難以滿足網絡計算的需要。為此,各種各樣的網絡程序開發體系結構應運而生。其中,運用最多的網絡應用程序開發體系結構可以分為兩種:一種是基于瀏覽器/服務器的B/S結構;另一種是基于客戶端/服務器的C/S結構。下面進行詳細介紹。
1.1.1 C/S體系結構介紹
C/S是Client/Servser的縮寫,即客戶端/服務器結構。在這種結構中,服務器通常采用高性能的PC機或工作站,并采用大型數據庫系統(如Oracle或SQL Server),客戶端則需要安裝專用的客戶端軟件,如圖1.1所示。這種結構可以充分利用兩端硬件環境的優勢,將任務合理分配到客戶端和服務器,從而降低了系統的通信開銷。在2000年以前,C/S結構是網絡程序開發領域的主流。

圖1.1 C/S體系結構
1.1.2 B/S體系結構介紹
B/S是Browser/Server的縮寫,即瀏覽器/服務器結構。在這種結構中,客戶端不需要開發任何用戶界面,而統一采用如IE和Firefox等瀏覽器,通過Web瀏覽器向Web服務器發送請求,由Web服務器進行處理,并將處理結果逐級傳回客戶端,如圖1.2所示。這種結構利用不斷成熟和普及的瀏覽器技術實現原來需要復雜專用軟件才能實現的強大功能,從而節約了開發成本,是一種全新的軟件體系結構。這種體系結構已經成為當今應用軟件的首選體系結構。

圖1.2 B/S體系結構
說明
B/S由美國微軟公司研發,C/S由美國Borland公司最早研發。
1.1.3 兩種體系結構的比較
C/S結構和B/S結構是當今世界網絡程序開發體系結構的兩大主流。目前,這兩種結構都有自己的市場份額和客戶群。但是,這兩種體系結構又各有各的優點和缺點,下面將從以下3個方面進行比較說明。
1.開發和維護成本方面
C/S結構的開發和維護成本都比B/S高。采用C/S結構時,對于不同客戶端要開發不同的程序,而且軟件的安裝、調試和升級均需要在所有的客戶機上進行。例如,如果一個企業共有10個客戶站點使用一套C/S結構的軟件,則這10個客戶站點都需要安裝客戶端程序。當這套軟件進行了哪怕很微小的改動后,系統維護員都必須將客戶端原有的軟件卸載,再安裝新的版本并進行配置,最可怕的是客戶端的維護工作必須不折不扣地進行10次。若某個客戶端忘記進行這樣的更新,則該客戶端將會因軟件版本不一致而無法工作。而B/S結構的軟件,則不必在客戶端進行安裝及維護。如果將前面企業的C/S結構的軟件換成B/S結構,這樣在軟件升級后,系統維護員只需要將服務器的軟件升級到最新版本,對于其他客戶端,只要重新登錄系統即可使用最新版本的軟件。
2.客戶端負載
C/S結構的客戶端不僅負責與用戶的交互,收集用戶信息,而且還需要完成通過網絡向服務器請求對數據庫、電子表格或文檔等信息的處理工作。由此可見,應用程序的功能越復雜,客戶端程序也就越龐大,這也給軟件的維護工作帶來了很大的困難。而B/S結構的客戶端把事務處理邏輯部分交給了服務器,由服務器進行處理,客戶端只需要進行顯示,這樣,將使應用程序服務器的運行數據負荷較重,一旦發生服務器“崩潰”等問題,后果不堪設想。因此,許多單位都備有數據庫存儲服務器,以防萬一。
3.安全性
C/S結構適用于專人使用的系統,可以通過嚴格的管理派發軟件,達到保證系統安全的目的,這樣的軟件相對來說安全性比較高。而對于B/S結構的軟件,由于使用的人數較多,且不固定,相對來說安全性就會低些。
由此可見,B/S相對于C/S來說具有更多的優勢,現今大量的應用程序開始轉移到應用B/S結構,許多軟件公司也爭相開發B/S版的軟件,也就是Web應用程序。隨著Internet的發展,基于HTTP協議和HTML標準的Web應用呈幾何數量級的增長,而這些Web應用又是由各種Web技術所開發。
- Objective-C Memory Management Essentials
- 無代碼編程:用云表搭建企業數字化管理平臺
- 華為HMS生態與應用開發實戰
- Mastering Ubuntu Server
- C語言程序設計實踐教程
- Blender 3D Incredible Machines
- MySQL數據庫基礎實例教程(微課版)
- Java編程的邏輯
- 深度學習:Java語言實現
- Java Web開發詳解
- RESTful Java Web Services(Second Edition)
- Python從入門到精通
- Android驅動開發權威指南
- Android Sensor Programming By Example
- 零基礎輕松學C++:青少年趣味編程(全彩版)