當(dāng)前位置:全球貿(mào)易網(wǎng) > 技術(shù)中心 > 所有分類
B/S架構(gòu)即瀏覽器和服務(wù)器架構(gòu)模式,是隨著Internet技術(shù)的興起,對(duì)C/S架構(gòu)的一種變化或者改進(jìn)的架構(gòu)。在這種架構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。B/S架構(gòu)是WEB興起后的一種網(wǎng)絡(luò)架構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開發(fā)、維護(hù)和使用。客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫(kù)。瀏覽器通過(guò)Web Server同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。 這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。

隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,特別隨著Web技術(shù)的不斷成熟,B/S 這種軟件體系結(jié)構(gòu)出現(xiàn)了。B/S(Browser/Server)架構(gòu)也被稱為瀏覽器/服務(wù)器體系結(jié)構(gòu),這種體系結(jié)構(gòu)可以理解為是對(duì) C/S 體系結(jié)構(gòu)的改變和促進(jìn)。由于網(wǎng)絡(luò)的快速發(fā)展,B/S 結(jié)構(gòu)的功能越來(lái)越*。這種結(jié)構(gòu)可以進(jìn)行信息分布式處理,可以有效降低資源成本,提高設(shè)計(jì)的系統(tǒng)性能。B/S 架構(gòu)是有更廣的應(yīng)用范圍,在處理模式上大大簡(jiǎn)化了客戶端,用戶只需安裝瀏覽器即可,而將應(yīng)用邏輯集中在服務(wù)器和中間件上,可以提高數(shù)據(jù)處理性能。在軟件的通用性上,B/S 架構(gòu)的客戶端具有更好的通用性,對(duì)應(yīng)用環(huán)境的依賴性較小,同時(shí)因?yàn)榭蛻舳耸褂脼g覽器,在開發(fā)維護(hù)上更加便利,可以減少系統(tǒng)開發(fā)和維護(hù)的成本。面向未來(lái),連排級(jí)單位可通過(guò)掌上電腦(安卓系統(tǒng)),在訓(xùn)練場(chǎng)、演習(xí)場(chǎng)等環(huán)境下訪問(wèn)并使用該系統(tǒng)。
B/S 的特征和基本結(jié)構(gòu):在 B/S 結(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)都分布在網(wǎng)絡(luò)上,這些網(wǎng)絡(luò)節(jié)點(diǎn)可以分為瀏覽器端、服務(wù)器端和中間件,通過(guò)它們之間的鏈接和交互來(lái)完成系統(tǒng)的功能任務(wù)。三個(gè)層次的劃分是從邏輯上分的,在實(shí)際應(yīng)用中多根據(jù)實(shí)際物理網(wǎng)絡(luò)進(jìn)行不同的物理劃分。
瀏覽器端:即用戶使用的瀏覽器,是用戶操作系統(tǒng)的接口,用戶通過(guò)瀏覽器界面向服務(wù)器端提出請(qǐng)求,并對(duì)服務(wù)器端返回的結(jié)果進(jìn)行處理并展示,通過(guò)界面可以將系統(tǒng)的邏輯功能更好的表現(xiàn)出來(lái)。
服務(wù)器端:提供數(shù)據(jù)服務(wù),操作數(shù)據(jù),然后把結(jié)果返回中間層,結(jié)果顯示在系統(tǒng)界面上。
中間件:這是運(yùn)行在瀏覽器和服務(wù)器之間的。這層主要完成系統(tǒng)邏輯,實(shí)現(xiàn)具體的功能,接受用戶的請(qǐng)求并把這些請(qǐng)求傳送給服務(wù)器,然后將服務(wù)器的結(jié)果返回給用戶,瀏覽器端和服務(wù)器端需要交互的信息是通過(guò)中間件完成的。 [1]
優(yōu)勢(shì)
維護(hù)和升級(jí)
軟件系統(tǒng)的改進(jìn)和升級(jí)越來(lái)越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對(duì)一個(gè)稍微大一點(diǎn)單位來(lái)說(shuō),系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來(lái)回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無(wú)論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,所有的操作只需要針對(duì)服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級(jí)和共享。所以客戶機(jī)越來(lái)越“瘦”,而服務(wù)器越來(lái)越“胖”是將來(lái)信息化發(fā)展的主流方向。今后,軟件升級(jí)和維護(hù)會(huì)越來(lái)越容易,而使用起來(lái)會(huì)越來(lái)越簡(jiǎn)單,這對(duì)用戶人力、物力、時(shí)間、費(fèi)用的節(jié)省是顯而易見的,驚人的。因此,維護(hù)和升級(jí)革命的方式是“瘦”客戶機(jī),“胖”服務(wù)器。
成本與選擇
大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置。但在服務(wù)器操作系統(tǒng)上,windows并不是處于的統(tǒng)治地位。軟件的趨勢(shì)是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,而且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用哪種操作系統(tǒng)都可以讓大部分人使用windows作為桌面操作系統(tǒng)電腦不受影響,這就使得免費(fèi)的Linux操作系統(tǒng)快速發(fā)展起來(lái),Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫(kù)也是免費(fèi)的,這種選擇非常盛行。
負(fù)荷比
由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(Server)上,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器(Server)端通過(guò)WWW瀏覽器實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。

區(qū)別
C/S特點(diǎn)
C/S架構(gòu)是常用的兩層架構(gòu),通常也稱之為客戶端/服務(wù)器架構(gòu)。服務(wù)器運(yùn)行服務(wù)端程序,客戶端安裝客戶端軟件。在此架構(gòu)里服務(wù)端和客戶端分別完成不同的任務(wù),客戶端處理用戶的前端界面和交互操作,服務(wù)端處理后臺(tái)業(yè)務(wù)邏輯和請(qǐng)求數(shù)據(jù),這使得兩端的通訊速度和通訊的效率大大的提高 [2] 。服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫(kù)系統(tǒng),如Oracle、Sybase、Informix或 SQL Server。客戶端需要安裝專用的客戶端軟件。
C/S的優(yōu)點(diǎn)是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對(duì)應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。缺點(diǎn)主要有以下幾個(gè):
而隨著互聯(lián)網(wǎng)的飛速發(fā)展,移動(dòng)辦公和分布式辦公越來(lái)越普及,這需要我們的系統(tǒng)具有擴(kuò)展性。這種方式遠(yuǎn)程訪問(wèn)需要專門的技術(shù),同時(shí)要對(duì)系統(tǒng)進(jìn)行專門的設(shè)計(jì)來(lái)處理分布式的數(shù)據(jù)。
客戶端需要安裝專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一臺(tái)電腦出問(wèn)題,如病毒、硬件損壞,都需要進(jìn)行安裝或維護(hù)。特別是有很多分部或?qū)Yu店的情況,不是工作量的問(wèn)題,而是路程的問(wèn)題。還有,系統(tǒng)軟件升級(jí)時(shí),每一臺(tái)客戶機(jī)需要重新安裝,其維護(hù)和升級(jí)成本非常高。
對(duì)客戶端的操作系統(tǒng)一般也會(huì)有限制。可能適應(yīng)于Win98,但不能用于win2000或Windows XP。或者不適用于微軟新的操作系統(tǒng)等等,更不用說(shuō)Linux、Unix等。
Client/Server是建立在局域網(wǎng)的基礎(chǔ)上的。Browser/Server是建立在廣域網(wǎng)的基礎(chǔ)上的。
1.硬件環(huán)境不同:C/S 一般建立在專用的網(wǎng)絡(luò)上,小范圍里的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過(guò)專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù)。B/S 建立在廣域網(wǎng)之上的, 不必是專門的網(wǎng)絡(luò)硬件環(huán)境。例如電話上網(wǎng),租用設(shè)備,信息管理,有比C/S更強(qiáng)的適應(yīng)范圍,一般只要有操作系統(tǒng)和瀏覽器就行。
2.對(duì)安全要求不同:C/S 一般面向相對(duì)固定的用戶群, 對(duì)信息安全的控制能力很強(qiáng), 一般高度機(jī)密的信息系統(tǒng)采用C/S 結(jié)構(gòu)適宜,可以通過(guò)B/S發(fā)布部分可公開信息。B/S 建立在廣域網(wǎng)之上, 對(duì)安全的控制能力相對(duì)弱,面向是不可知的用戶群。
3.對(duì)程序架構(gòu)不同:C/S 程序可以更加注重流程,可以對(duì)權(quán)限多層次校驗(yàn),對(duì)系統(tǒng)運(yùn)行速度可以較少考慮。B/S 對(duì)安全以及訪問(wèn)速度的多重的考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上,比C/S有更高的要求。 B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢(shì),從MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持網(wǎng)絡(luò)的構(gòu)件搭建的系統(tǒng).。SUN 和IBM推的JavaBean 構(gòu)件技術(shù)等,使 B/S更加成熟。
4.軟件重用不同:C/S 程序可以不可避免的整體性考慮,構(gòu)件的重用性不如在B/S要求下的構(gòu)件的重用性好。B/S 對(duì)的多重結(jié)構(gòu),要求構(gòu)件相對(duì)獨(dú)立的功能,能夠相對(duì)較好的重用。
5.系統(tǒng)維護(hù)不同:系統(tǒng)維護(hù)在是軟件生存周期中,開銷大。重要C/S 程序由于整體性,必須整體考察, 處理出現(xiàn)的問(wèn)題以及系統(tǒng)升級(jí)。升級(jí)難,可能是再做一個(gè)全新的系統(tǒng)。B/S程序由構(gòu)件組成,方便構(gòu)件個(gè)別的更換,實(shí)現(xiàn)系統(tǒng)的無(wú)縫升級(jí),系統(tǒng)維護(hù)開銷減到最小,用戶從網(wǎng)上自己下載安裝就可以實(shí)現(xiàn)升級(jí)。
6.處理問(wèn)題不同:C/S 程序可以處理用戶面固定,并且在相同區(qū)域,安全要求高需求,與操作系統(tǒng)相關(guān),應(yīng)該都是相同的系統(tǒng)。B/S 建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是C/S無(wú)法作到的,與操作系統(tǒng)平臺(tái)關(guān)系最小。
7.用戶接口不同:C/S 多是建立的Window平臺(tái)上,表現(xiàn)方法有限。對(duì)程序員普遍要求較高。B/S 建立在瀏覽器上,,有更加豐富和生動(dòng)的表現(xiàn)方式與用戶交流,并且大部分難度減低,減低開發(fā)成本。
8.信息流不同:C/S 程序一般是典型的的機(jī)械式處理,交互性相對(duì)低。B/S 信息流向可變化, B-B、 B-C、 B-G等信息流向的變化,更象交易中心。
技術(shù)比較
C/S結(jié)構(gòu)軟件(即客戶機(jī)/服務(wù)器模式)分為客戶機(jī)和服務(wù)器兩層,客戶機(jī)不是毫無(wú)運(yùn)算能力的輸入、輸出設(shè)備,而是具有了一定的數(shù)據(jù)處理和數(shù)據(jù)存儲(chǔ)能力,通過(guò)把應(yīng)用軟件的計(jì)算和數(shù)據(jù)合理地分配在客戶機(jī)和服務(wù)器兩端,可以有效地降低網(wǎng)絡(luò)通信量和服務(wù)器運(yùn)算量。由于服務(wù)器連接個(gè)數(shù)和數(shù)據(jù)通信量的限制,這種結(jié)構(gòu)的軟件適于在用戶數(shù)目不多的局域網(wǎng)內(nèi)使用。國(guó)內(nèi)現(xiàn)階段的大部分ERP(財(cái)務(wù))軟件產(chǎn)品即屬于此類結(jié)構(gòu)。
B/S(瀏覽器/服務(wù)器模式)是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種改進(jìn)。在這種結(jié)構(gòu)下,軟件應(yīng)用的業(yè)務(wù)邏輯在應(yīng)用服務(wù)器端實(shí)現(xiàn),用戶表現(xiàn)在Web服務(wù)器實(shí)現(xiàn),客戶端只需要瀏覽器即可進(jìn)行業(yè)務(wù)處理,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的體系結(jié)構(gòu)。e通管理系列產(chǎn)品即屬于此類結(jié)構(gòu)。
B/S適用于一些安全性要求相對(duì)較低、數(shù)據(jù)查詢兩大、操作簡(jiǎn)單模塊。除了具有C/S模型的所有優(yōu)點(diǎn)外,B/S還具有使用簡(jiǎn)單、提供了一個(gè)統(tǒng)一的客戶端、維護(hù)工作集中于服務(wù)器端、通用性強(qiáng)的Web的開放式標(biāo)準(zhǔn)、擴(kuò)展性好、可接入Internet等優(yōu)點(diǎn)。 [3]
1,數(shù)據(jù)安全性比較。由于C/S結(jié)構(gòu)軟件的數(shù)據(jù)分布特性,客戶端所發(fā)生的火災(zāi)、盜搶、地震、病毒、等都成了可怕的數(shù)據(jù)殺手。另外,對(duì)于集團(tuán)級(jí)的異地軟件應(yīng)用,C/S結(jié)構(gòu)的軟件必須在各地安裝多個(gè)服務(wù)器,并在多個(gè)服務(wù)器之間進(jìn)行數(shù)據(jù)同步。如此一來(lái),每個(gè)數(shù)據(jù)點(diǎn)上的數(shù)據(jù)安全都影響了整個(gè)應(yīng)用的數(shù)據(jù)安全。所以,對(duì)于集團(tuán)級(jí)的大型應(yīng)用來(lái)講,C/S結(jié)構(gòu)軟件的安全性是令人無(wú)法接受的。對(duì)于B/S結(jié)構(gòu)的軟件來(lái)講,由于其數(shù)據(jù)集中存放于總部的數(shù)據(jù)庫(kù)服務(wù)器,客戶端不保存任何業(yè)務(wù)數(shù)據(jù)和數(shù)據(jù)庫(kù)連接信息,也無(wú)需進(jìn)行什么數(shù)據(jù)同步,所以這些安全問(wèn)題也就自然不存在了。
2,數(shù)據(jù)一致性比較。在C/S結(jié)構(gòu)軟件的解決方案里,對(duì)于異地經(jīng)營(yíng)的大型集團(tuán)都采用各地安裝區(qū)域級(jí)服務(wù)器,然后再進(jìn)行數(shù)據(jù)同步的模式。這些服務(wù)器每天必須同步完畢之后,總部才可得到最終的數(shù)據(jù)。由于局部網(wǎng)絡(luò)故障造成個(gè)別數(shù)據(jù)庫(kù)不能同步不說(shuō),即使同步上來(lái),各服務(wù)器也不是一個(gè)時(shí)點(diǎn)上的數(shù)據(jù),數(shù)據(jù)永遠(yuǎn)無(wú)法一致,不能用于決策。對(duì)于B/S結(jié)構(gòu)的軟件來(lái)講,其數(shù)據(jù)是集中存放的,客戶端發(fā)生的每一筆業(yè)務(wù)單據(jù)都直接進(jìn)入到數(shù)據(jù)庫(kù),不存在數(shù)據(jù)一致性的問(wèn)題。
3,數(shù)據(jù)實(shí)時(shí)性比較。在集團(tuán)級(jí)應(yīng)用里,C/S結(jié)構(gòu)不可能隨時(shí)隨地看到當(dāng)前業(yè)務(wù)的發(fā)生情況,看到的都是事后數(shù)據(jù);而B/S結(jié)構(gòu)則不同,它可以實(shí)時(shí)看到當(dāng)前發(fā)生的所有業(yè)務(wù),方便了快速?zèng)Q策,有效地避免了企業(yè)損失。
4,數(shù)據(jù)溯源性比較。由于B/S結(jié)構(gòu)的數(shù)據(jù)是集中存放的,所以總公司可以直接追溯到各級(jí)分支機(jī)構(gòu)(分公司、門店)的原始業(yè)務(wù)單據(jù),也就是說(shuō)看到的結(jié)果可溯源。大部分C/S結(jié)構(gòu)的軟件則不同,為了減少數(shù)據(jù)通信量,僅僅上傳中間報(bào)表數(shù)據(jù),在總部不可能查到各分支機(jī)構(gòu)(分公司、門店)的原始單據(jù)。
5,服務(wù)響應(yīng)及時(shí)性比較。企業(yè)的業(yè)務(wù)流程、業(yè)務(wù)模式不是一成不變的,隨著企業(yè)不斷發(fā)展,必然會(huì)不斷調(diào)整。軟件供應(yīng)商提供的軟件也不是沒(méi)有缺陷,所以,對(duì)已經(jīng)部署的軟件產(chǎn)品進(jìn)行維護(hù)、升級(jí)是正常的。C/S結(jié)構(gòu)軟件,由于其應(yīng)用是分布的,需要對(duì)每一個(gè)使用節(jié)點(diǎn)進(jìn)行程序安裝,所以,即使非常小的程序缺陷都需要很長(zhǎng)的重新部署時(shí)間,重新部署時(shí),為了保證各程序版本的一致性,必須暫停一切業(yè)務(wù)進(jìn)行更新(即“休克更新”),其服務(wù)響應(yīng)時(shí)間基本不可忍受。而B/S結(jié)構(gòu)的軟件不同,其應(yīng)用都集中于總部服務(wù)器上,各應(yīng)用結(jié)點(diǎn)并沒(méi)有任何程序,一個(gè)地方更新則全部應(yīng)用程序更新,可以做到快速服務(wù)響應(yīng)。
6,網(wǎng)絡(luò)應(yīng)用限制比較。C/S結(jié)構(gòu)軟件僅適用于局域網(wǎng)內(nèi)部用戶或?qū)拵в脩簦?兆以上);而我們的B/S結(jié)構(gòu)軟件可以適用于任何網(wǎng)絡(luò)結(jié)構(gòu)(包括33.6K撥號(hào)入網(wǎng)方式),特別適于寬帶不能到達(dá)的地方(例如迪信通集團(tuán)的某些分公司,僅靠電話上網(wǎng)即可正常使用軟件系統(tǒng))。
7,存儲(chǔ)模式比較。B/S結(jié)構(gòu)相應(yīng)數(shù)據(jù)來(lái)自于后臺(tái)數(shù)據(jù)庫(kù),而C/S結(jié)構(gòu)部分?jǐn)?shù)據(jù)來(lái)源于存儲(chǔ)在本地的臨時(shí)文件,剩余的部分來(lái)源于數(shù)據(jù)庫(kù),因此C/S結(jié)構(gòu)響應(yīng)時(shí)間會(huì)更快。
商業(yè)比較
1,投入成本比較。B/S結(jié)構(gòu)軟件一般只有初期一次性投入成本。對(duì)于集團(tuán)來(lái)講,有利于軟件項(xiàng)目控制和避免IT黑洞,而C/S結(jié)構(gòu)的軟件則不同,隨著應(yīng)用范圍的擴(kuò)大,投資會(huì)連綿不絕。
2,硬件投資保護(hù)比較。在對(duì)已有硬件投資的保護(hù)方面,兩種結(jié)構(gòu)也是不同的。當(dāng)應(yīng)用范圍擴(kuò)大,系統(tǒng)負(fù)載上升時(shí),C/S結(jié)構(gòu)軟件的一般解決方案是購(gòu)買更高性能的服務(wù)器;而B/S架構(gòu)則是通過(guò)增加服務(wù)器的數(shù)量來(lái)承擔(dān)更大的負(fù)載。