BS架構

BS架構

浏覽器和服務器架構模式
B/S架構即浏覽器和服務器架構模式,是随着Internet技術的興起,對C/S架構的一種變化或者改進的架構。在這種架構下,用戶工作界面是通過WWW浏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂三層3-tier結構。B/S架構是WEB興起後的一種網絡架構模式,WEB浏覽器是客戶端最主要的應用軟件。這種模式統一了客戶端,将系統功能實現的核心部分集中到服務器上,簡化了系統的開發、維護和使用。客戶機上隻要安裝一個浏覽器(Browser),如Netscape Navigator或Internet Explorer,服務器安裝Oracle、Sybase、Informix或 SQL Server等數據庫。浏覽器通過Web Server同數據庫進行數據交互。 這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。[1]
  • 中文名:浏覽器和服務器架構
  • 外文名:Browser/Server Architecture
  • 所屬學科:
  • 簡 稱:B/S架構
  • 類 型:一種網絡架構模式
  • 特 點:進行信息分布式處理
  • 組 成:浏覽器端、服務器端、中間件

簡介

随着網絡技術的發展,特别随着Web技術的不斷成熟,B/S這種軟件體系結構出現了。B/S(Browser/Server)架構也被稱為浏覽器/服務器體系結構,這種體系結構可以理解為是對C/S體系結構的改變和促進。由于網絡的快速發展,B/S結構的功能越來越強大。這種結構可以進行信息分布式處理,可以有效降低資源成本,提高設計的系統性能。B/S架構是有更廣的應用範圍,在處理模式上大大簡化了客戶端,用戶隻需安裝浏覽器即可,而将應用邏輯集中在服務器和中間件上,可以提高數據處理性能。在軟件的通用性上,B/S架構的客戶端具有更好的通用性,對應用環境的依賴性較小,同時因為客戶端使用浏覽器,在開發維護上更加便利,可以減少系統開發和維護的成本。面向未來,連排級單位可通過掌上電腦(安卓系統),在訓練場、演習場等環境下訪問并使用該系統。

B/S的特征和基本結構:在B/S結構中,每個節點都分布在網絡上,這些網絡節點可以分為浏覽器端、服務器端和中間件,通過它們之間的鍊接和交互來完成系統的功能任務。三個層次的劃分是從邏輯上分的,在實際應用中多根據實際物理網絡進行不同的物理劃分。

浏覽器端:即用戶使用的浏覽器,是用戶操作系統的接口,用戶通過浏覽器界面向服務器端提出請求,并對服務器端返回的結果進行處理并展示,通過界面可以将系統的邏輯功能更好的表現出來。

服務器端:提供數據服務,操作數據,然後把結果返回中間層,結果顯示在系統界面上。

中間件:這是運行在浏覽器和服務器之間的。這層主要完成系統邏輯,實現具體的功能,接受用戶的請求并把這些請求傳送給服務器,然後将服務器的結果返回給用戶,浏覽器端和服務器端需要交互的信息是通過中間件完成的。

優勢與劣勢

維護和升級

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

成本與選擇

大家都知道windows在桌面電腦上幾乎一統天下,浏覽器成為了标準配置。但在服務器操作系統上,windows并不是處于絕對的統治地位。軟件的趨勢是凡使用B/S架構的應用管理軟件,隻需安裝在Linux服務器上即可,而且安全性高。所以服務器操作系統的選擇是很多的,不管選用哪種操作系統都可以讓大部分人使用windows作為桌面操作系統電腦不受影響,這就使得最流行免費的Linux操作系統快速發展起來,Linux除了操作系統是免費的以外,連數據庫也是免費的,這種選擇非常盛行。

負荷比

由于B/S架構管理軟件隻安裝在服務器端(Server)上,網絡管理人員隻需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端完全通過WWW浏覽器實現,極少部分事務邏輯在前端(Browser)實現,所有的客戶端隻有浏覽器,網絡管理人員隻需要做硬件維護。但是,應用服務器運行數據負荷較重,一旦發生服務器“崩潰”等問題,後果不堪設想。因此,許多單位都備有數據庫存儲服務器,以防萬一。

區别

C/S特點

C/S架構是常用的兩層架構,通常也稱之為客戶端/服務器架構。服務器運行服務端程序,客戶端安裝客戶端軟件。在此架構裡服務端和客戶端分别完成不同的任務,客戶端處理用戶的前端界面和交互操作,服務端處理後台業務邏輯和請求數據,這使得兩端的通訊速度和通訊的效率大大的提高。服務器通常采用高性能的PC、工作站或小型機,并采用大型數據庫系統,如Oracle、Sybase、Informix或SQL Server。客戶端需要安裝專用的客戶端軟件。

C/S的優點是能充分發揮客戶端PC的處理能力,很多工作可以在客戶端處理後再提交給服務器。對應的優點就是客戶端響應速度快。缺點主要有以下幾個:

而随着互聯網的飛速發展,移動辦公和分布式辦公越來越普及,這需要我們的系統具有擴展性。這種方式遠程訪問需要專門的技術,同時要對系統進行專門的設計來處理分布式的數據。

客戶端需要安裝專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一台電腦出問題,如病毒、硬件損壞,都需要進行安裝或維護。特别是有很多分部或專賣店的情況,不是工作量的問題,而是路程的問題。還有,系統軟件升級時,每一台客戶機需要重新安裝,其維護和升級成本非常高。

對客戶端的操作系統一般也會有限制。可能适應于Win98,但不能用于win2000或Windows XP。或者不适用于微軟新的操作系統等等,更不用說Linux、Unix等。

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系列的BizTalk2000 Exchange 2000等,全面支持網絡的構件搭建的系統.。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等信息流向的變化,更象交易中心。

技術比較

C/S結構軟件(即客戶機/服務器模式)分為客戶機和服務器兩層,客戶機不是毫無運算能力的輸入、輸出設備,而是具有了一定的數據處理和數據存儲能力,通過把應用軟件的計算和數據合理地分配在客戶機和服務器兩端,可以有效地降低網絡通信量和服務器運算量。由于服務器連接個數和數據通信量的限制,這種結構的軟件适于在用戶數目不多的局域網内使用。國内現階段的大部分ERP(财務)軟件産品即屬于此類結構。

B/S(浏覽器/服務器模式)是随着Internet技術的興起,對C/S結構的一種改進。在這種結構下,軟件應用的業務邏輯完全在應用服務器端實現,用戶表現完全在Web服務器實現,客戶端隻需要浏覽器即可進行業務處理,是一種全新的軟件系統構造技術。這種結構更成為當今應用軟件的首選體系結構。e通管理系列産品即屬于此類結構。

B/S适用于一些安全性要求相對較低、數據查詢兩大、操作簡單模塊。除了具有C/S模型的所有優點外,B/S還具有使用簡單、提供了一個統一的客戶端、維護工作集中于服務器端、通用性強的Web的開放式标準、擴展性好、可接入Internet等優點。

1,數據安全性比較。由于C/S結構軟件的數據分布特性,客戶端所發生的火災、盜搶、地震、病毒、黑客等都成了可怕的數據殺手。另外,對于集團級的異地軟件應用,C/S結構的軟件必須在各地安裝多個服務器,并在多個服務器之間進行數據同步。如此一來,每個數據點上的數據安全都影響了整個應用的數據安全。所以,對于集團級的大型應用來講,C/S結構軟件的安全性是令人無法接受的。對于B/S結構的軟件來講,由于其數據集中存放于總部的數據庫服務器,客戶端不保存任何業務數據和數據庫連接信息,也無需進行什麼數據同步,所以這些安全問題也就自然不存在了。

2,數據一緻性比較。在C/S結構軟件的解決方案裡,對于異地經營的大型集團都采用各地安裝區域級服務器,然後再進行數據同步的模式。這些服務器每天必須同步完畢之後,總部才可得到最終的數據。由于局部網絡故障造成個别數據庫不能同步不說,即使同步上來,各服務器也不是一個時點上的數據,數據永遠無法一緻,不能用于決策。對于B/S結構的軟件來講,其數據是集中存放的,客戶端發生的每一筆業務單據都直接進入到中央數據庫,不存在數據一緻性的問題。

3,數據實時性比較。在集團級應用裡,C/S結構不可能随時随地看到當前業務的發生情況,看到的都是事後數據;而B/S結構則不同,它可以實時看到當前發生的所有業務,方便了快速決策,有效地避免了企業損失。

4,數據溯源性比較。由于B/S結構的數據是集中存放的,所以總公司可以直接追溯到各級分支機構(分公司、門店)的原始業務單據,也就是說看到的結果可溯源。大部分C/S結構的軟件則不同,為了減少數據通信量,僅僅上傳中間報表數據,在總部不可能查到各分支機構(分公司、門店)的原始單據。

5,服務響應及時性比較。企業的業務流程、業務模式不是一成不變的,随着企業不斷發展,必然會不斷調整。軟件供應商提供的軟件也不是沒有缺陷,所以,對已經部署的軟件産品進行維護、升級是正常的。C/S結構軟件,由于其應用是分布的,需要對每一個使用節點進行程序安裝,所以,即使非常小的程序缺陷都需要很長的重新部署時間,重新部署時,為了保證各程序版本的一緻性,必須暫停一切業務進行更新(即“休克更新”),其服務響應時間基本不可忍受。而B/S結構的軟件不同,其應用都集中于總部服務器上,各應用結點并沒有任何程序,一個地方更新則全部應用程序更新,可以做到快速服務響應。

6,網絡應用限制比較。C/S結構軟件僅适用于局域網内部用戶或寬帶用戶(1兆以上);而我們的B/S結構軟件可以适用于任何網絡結構(包括33.6K撥号入網方式),特别适于寬帶不能到達的地方(例如迪信通集團的某些分公司,僅靠電話上網即可正常使用軟件系統)。

7,存儲模式比較。B/S結構相應數據完全來自于後台數據庫,而C/S結構部分數據來源于存儲在本地的臨時文件,剩餘的部分來源于數據庫,因此C/S結構響應時間會更快。

商業比較

1,投入成本比較。B/S結構軟件一般隻有初期一次性投入成本。對于集團來講,有利于軟件項目控制和避免IT黑洞,而C/S結構的軟件則不同,随着應用範圍的擴大,投資會連綿不絕。

2,硬件投資保護比較。在對已有硬件投資的保護方面,兩種結構也是完全不同的。當應用範圍擴大,系統負載上升時,C/S結構軟件的一般解決方案是購買更高性能的服務器;而B/S架構則是通過增加服務器的數量來承擔更大的負載。

發展前景

C/S和B/S各有優勢,C/S在圖形的表現能力上以及運行的速度上肯定是強于B/S模式的,不過缺點就是他需要運行專門的客戶端,而且更重要的是它不能跨平台,用c++在windows下寫的程序肯定是不能在linux下跑的。而B/S模式就不同了,它不需要專門的客戶端,隻要浏覽器,而浏覽器是随操作系統就有的,方便就是他的優勢了。而且,B/S是基于網頁語言的、與操作系統無關,所以跨平台也是它的優勢,而且以後随着網頁語言以及浏覽器的進步,B/S在表現能力上的處理以及運行的速度上會越來越快,它的缺點将會越來越少。比如,未來的HTML5,在圖形的渲染方面以及音頻、文件的處理上已經非常強大了。不過,C/S架構也有着不可替代的作用。

相關詞條

相關搜索

其它詞條