B/S架構
對信息分散式處理的架構模式
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)。
隨網路技術展,隨Web技術的不斷成熟,B/S 這種軟體體系結構出現了。B/S(Browser/Server)架構也被稱為瀏覽器/伺服器體系結構,這種體系結構可以理解為是對 C/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又稱Client/Server或客戶/伺服器模式。伺服器通常採用高性能的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系列的BizTalk 2000 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通管理系列產品即屬於此類結構。
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架構則是通過增加伺服器的數量來承擔更大的負載。
未來發展趨勢,是將B/S與C/S的優勢完美地結合起來,就是說,該平台的應用系統既能以B/S的方式發布運行,同時又具有C/S方式的極強的可操作性。
C/S和B/S各有優勢,C/S在圖形的表現能力上以及運行的速度上肯定是強於B/S模式的,不過缺點就是他需要運行專門的客戶端,而且更重要的是它不能跨平台,用c++在windows下寫的程序肯定是不能在linux下跑的。而B/S模式就不同了,它不需要專門的客戶端,只要瀏覽器,而瀏覽器是隨操作系統就有的,方便就是他的優勢了。而且,B/S是基於網頁語言的、與操作系統無關,所以跨平台也是它的優勢,而且以後隨著網頁語言以及瀏覽器的進步,B/S在表現能力上的處理以及運行的速度上會越來越快,它的缺點將會越來越少。比如,未來的HTML5,在圖形的渲染方面以及音頻、文件的處理上已經非常強大了。
不過,C/S架構也有著不可替代的作用。