當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]在對B/S結(jié)構(gòu)和C/S結(jié)構(gòu)進(jìn)行充分分析比較的情況下,簡述了今后發(fā)展的前景,并提出了一種新的體系結(jié)構(gòu)。結(jié)合B/S與C/S,將組件技術(shù)COM+和ActiveX技術(shù)分別應(yīng)用在服務(wù)器端和客戶端,從而開發(fā)出高效、安全的應(yīng)用系統(tǒng)。

近年來,隨著網(wǎng)絡(luò)技術(shù)不斷發(fā)展,尤其是基于Web的信息發(fā)布和檢索技術(shù)、Java計(jì)算技術(shù)以及網(wǎng)絡(luò)分布式對象技術(shù)的飛速發(fā)展,導(dǎo)致了很多應(yīng)用系統(tǒng)的體系結(jié)構(gòu)從C/S結(jié)構(gòu)向更加靈活的B/S多級分布結(jié)構(gòu)演變,使得軟件系統(tǒng)的網(wǎng)絡(luò)體系結(jié)構(gòu)跨入一個(gè)新階段。認(rèn)識這些結(jié)構(gòu)的特征,并根據(jù)實(shí)際情況進(jìn)行系統(tǒng)的選型,對于成功開發(fā)一個(gè)MIS系統(tǒng)是非常關(guān)鍵的。

1 C/S結(jié)構(gòu)與B/S結(jié)構(gòu)

1.1 C/S結(jié)構(gòu)

C/S結(jié)構(gòu),即Client/Server (客戶機(jī)/服務(wù)器)結(jié)構(gòu)。此結(jié)構(gòu)把數(shù)據(jù)庫內(nèi)容放在遠(yuǎn)程的服務(wù)器上,而在客戶機(jī)上安裝相應(yīng)軟件。C/S軟件一般采用兩層結(jié)構(gòu),其分布結(jié)構(gòu)如圖1所示。它由兩部分構(gòu)成:前端是客戶機(jī),即用戶界面(Client)結(jié)合了表示與業(yè)務(wù)邏輯,接受用戶的請求,并向數(shù)據(jù)庫服務(wù)提出請求,通常是一個(gè)PC機(jī);后端是服務(wù)器,即數(shù)據(jù)管理(Server)將數(shù)據(jù)提交給客戶端,客戶端將數(shù)據(jù)進(jìn)行計(jì)算并將結(jié)果呈現(xiàn)給用戶。還要提供完善的安全保護(hù)及對數(shù)據(jù)的完整性處理等操作,并允許多個(gè)客戶同時(shí)訪問同一個(gè)數(shù)據(jù)庫。在這種結(jié)構(gòu)中,服務(wù)器的硬件必須具有足夠的處理能力,這樣才能滿足各客戶的要求。

C/S結(jié)構(gòu)在技術(shù)上很成熟,它的主要特點(diǎn)是交互性強(qiáng)、具有安全的存取模式、網(wǎng)絡(luò)通信量低、響應(yīng)速度快、利于處理大量數(shù)據(jù)。但是該結(jié)構(gòu)的程序是針對性開發(fā),變更不夠靈活,維護(hù)和管理的難度較大。通常只局限于小型局域網(wǎng),不利于擴(kuò)展。并且,由于該結(jié)構(gòu)的每臺客戶機(jī)都需要安裝相應(yīng)的客戶端程序, 分布功能弱且兼容性差,不能實(shí)現(xiàn)快速部署安裝和配置,因此缺少通用性,具有較大的局限性。要求具有一定專業(yè)水準(zhǔn)的技術(shù)人員去完成。

1.2 B/S結(jié)構(gòu)

B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),就是只安裝維護(hù)一個(gè)服務(wù)器(Server),而客戶端采用瀏覽器(Browse)運(yùn)行軟件。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化和改進(jìn)。主要利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合多種Script語言(VBScript、JavaScript…)和ActiveX技術(shù),是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。
B/S三層體系結(jié)構(gòu)采用三層客戶/服務(wù)器結(jié)構(gòu),在數(shù)據(jù)管理層(Server)和用戶界面層(Client)增加了一層結(jié)構(gòu),稱為中間件(Middleware),使整個(gè)體系結(jié)構(gòu)成為三層。三層結(jié)構(gòu)是伴隨著中間件技術(shù)的成熟而興起的,核心概念是利用中間件將應(yīng)用分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存儲層三個(gè)不同的處理層次,如圖2所示。三個(gè)層次的劃分是從邏輯上分的,具體的物理分法可以有多種組合。中間件作為構(gòu)造三層結(jié)構(gòu)應(yīng)用系統(tǒng)的基礎(chǔ)平臺,提供了以下主要功能:負(fù)責(zé)客戶機(jī)與服務(wù)器、服務(wù)器與服務(wù)器間的連接和通信;實(shí)現(xiàn)應(yīng)用與數(shù)據(jù)庫的高效連接;提供一個(gè)三層結(jié)構(gòu)應(yīng)用的開發(fā)、運(yùn)行、部署和管理的平臺。這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會影響其它層的功能。

在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進(jìn)行處理,將用戶所需信息返回到瀏覽器。而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成、對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行等工作全部由Web Server完成。隨著Windows 將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)已成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序是一個(gè)非常大的進(jìn)步。
B/S結(jié)構(gòu)的主要特點(diǎn)是分布性強(qiáng)、維護(hù)方便、開發(fā)簡單且共享性強(qiáng)、總體擁有成本低。但數(shù)據(jù)安全性問題、對服務(wù)器要求過高、數(shù)據(jù)傳輸速度慢、軟件的個(gè)性化特點(diǎn)明顯降低,這些缺點(diǎn)是有目共睹的,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。例如通過瀏覽器進(jìn)行大量的數(shù)據(jù)輸入或進(jìn)行報(bào)表的應(yīng)答、專用性打印輸出都比較困難和不便。此外,實(shí)現(xiàn)復(fù)雜的應(yīng)用構(gòu)造有較大的困難。雖然可以用ActiveX、Java等技術(shù)開發(fā)較為復(fù)雜的應(yīng)用,但是相對于發(fā)展已非常成熟C/S的一系列應(yīng)用工具來說,這些技術(shù)的開發(fā)復(fù)雜,并沒有完全成熟的技術(shù)工具供使用。

2 C/S結(jié)構(gòu)與B/S結(jié)構(gòu)的分析比較

2.1硬件環(huán)境不同

C/S建立在局域網(wǎng)的基礎(chǔ)上,通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù)。所處理的用戶不僅固定, 并且處于相同區(qū)域,要求擁有相同的操作系統(tǒng)。B/S 建立在廣域網(wǎng)的基礎(chǔ)上,信息自己管理,有比C/S更強(qiáng)的適應(yīng)范圍, 一般只要有操作系統(tǒng)和瀏覽器就行。與操作系統(tǒng)平臺關(guān)系最小。面向不可知的用戶群。

2.2 結(jié)構(gòu)不同

C/S軟件一般采用兩層結(jié)構(gòu),而B/S采用三層結(jié)構(gòu)。

這兩種結(jié)構(gòu)的不同點(diǎn)是兩層結(jié)構(gòu)中客戶端參與運(yùn)算,而三層結(jié)構(gòu)中客戶端并不參與運(yùn)算,只是簡單地接收用戶的請求,顯示最后的結(jié)果。由于三層結(jié)構(gòu)中的客戶端并不需要參與計(jì)算,所以對客戶端的計(jì)算機(jī)電腦配置要求較低。雖然B/S采用了邏輯上的三層結(jié)構(gòu),但在物理上的網(wǎng)絡(luò)結(jié)構(gòu)仍然是原來的以太網(wǎng)或環(huán)形網(wǎng)。這樣,第一層與第二層結(jié)構(gòu)之間的通信、第二層與第三層結(jié)構(gòu)之間的通信都需占用同一條網(wǎng)絡(luò)線路,網(wǎng)絡(luò)通信量大。而C/S只有兩層結(jié)構(gòu),網(wǎng)絡(luò)通信量只包括Client與Server之間的通信量,網(wǎng)絡(luò)通信量低。所以,C/S處理大量信息的能力是B/S無法比擬的。

2.3處理模式不同

B/S的處理模式與C/S相比,大大簡化了客戶端,只要裝上操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議軟件以及瀏覽器即可,這時(shí)的客戶機(jī)成為瘦客戶機(jī),而服務(wù)器則集中了所有的應(yīng)用邏輯。

2.4 構(gòu)件重用不同

在構(gòu)件的重用性方面, C/S 程序從整體進(jìn)行考慮,具有較低的重用性。 而B/S 對應(yīng)的是多重結(jié)構(gòu),要求構(gòu)件具有相對獨(dú)立的功能,具有較好的重用性。

2.5 系統(tǒng)維護(hù)不同

系統(tǒng)維護(hù)是在軟件生存周期中開銷最大的一部分。C/S 程序由于其本身的整體性, 必須整體考察并處理出現(xiàn)的問題。而B/S結(jié)構(gòu),客戶端不必安裝及維護(hù)。B/S 結(jié)構(gòu)在構(gòu)件組成方面只變更個(gè)別構(gòu)件,開發(fā)、維護(hù)等工作都集中在服務(wù)器端。當(dāng)需要升級時(shí),只需更新服務(wù)器端的軟件,而不必更換客戶端軟件,實(shí)現(xiàn)系統(tǒng)的無縫升級。這樣就減輕了系統(tǒng)維護(hù)與升級的成本和工作量,使用戶的總體擁有成本(TCO)大大降低。

2.6 對安全的要求不同

由于C/S采用配對的點(diǎn)對點(diǎn)的結(jié)構(gòu)模式,并采用適用于局域網(wǎng)、安全性比較好的網(wǎng)絡(luò)協(xié)議(例如NT的NetBEUI協(xié)議),安全性可得到較好的保證。C/S一般面向相對固定的用戶群, 程序更加注重流程,它可以對權(quán)限進(jìn)行多層次校驗(yàn),提供了更安全的存取模式,對信息安全的控制能力很強(qiáng)。一般高度機(jī)密的信息系統(tǒng)采用C/S 結(jié)構(gòu)適宜。而B/S采用點(diǎn)對多點(diǎn)、多點(diǎn)對多點(diǎn)這種開放的結(jié)構(gòu)模式,并采用TCP/IP這一類運(yùn)用于Internet的開放性協(xié)議,其安全性只能靠數(shù)據(jù)服務(wù)器上管理密碼的數(shù)據(jù)庫來保證。所以B/S 對安全以及訪問速度比C/S有更高的要求。而Internet技術(shù)中這些關(guān)鍵的安全問題遠(yuǎn)未解決。

2.7 速度不同

由于C/S在邏輯結(jié)構(gòu)上比B/S少一層,對于相同的任務(wù),C/S完成的速度總比B/S快。使得C/S更利于處理大量數(shù)據(jù)。

2.8 交互性與信息流不同

交互性強(qiáng)是C/S固有的一個(gè)優(yōu)點(diǎn)。在C/S中,客戶端有一套完整的應(yīng)用程序,在出錯(cuò)提示、在線幫助等方面都有強(qiáng)大的功能,并且可以在子程序間自由切換。B/S雖然由JavaScript、VBScript提供了一定的交互能力,但與C/S的一整套客戶應(yīng)用相比是太有限了。C/S的信息流單一,而B/S可處理如B-B、B-C、B-G等信息并具有流向的變化。

3 基于B/S結(jié)構(gòu)與C/S結(jié)構(gòu)結(jié)合的體系結(jié)構(gòu)

綜上所述,可見B/S與C/S這兩種技術(shù)是各有利弊的。

C/S技術(shù)是20年前的主流開發(fā)技術(shù),它主要局限于內(nèi)部局域網(wǎng)的需要。因而缺乏作為應(yīng)用平臺的一些特性,難以擴(kuò)展到互聯(lián)網(wǎng)這樣的環(huán)境上去,而且要求開發(fā)者自己去處理事務(wù)管理、消息隊(duì)列、數(shù)據(jù)的復(fù)制和同步、通信安全等系統(tǒng)級的問題。這對應(yīng)用開發(fā)者提出了較高的要求,而且迫使應(yīng)用開發(fā)者投入很多精力來解決應(yīng)用程序以外的問題。這使得應(yīng)用程序的維護(hù)、移植和互操作變得復(fù)雜,成了C/S的一大缺陷。

但是,與B/S結(jié)構(gòu)相比,C/S技術(shù)發(fā)展歷史更為“悠久”。從技術(shù)成熟度及軟件設(shè)計(jì)、開發(fā)人員的掌握水平來看,C/S技術(shù)更成熟、更可靠。在某些情況下,采用100%的B/S方式將造成系統(tǒng)響應(yīng)速度慢、服務(wù)器開銷大、通信帶寬要求高、安全性差、總投資增加等問題。而且,對于一些復(fù)雜的應(yīng)用,B/S方式目前尚沒有合適方式進(jìn)行開發(fā)。
客觀地分析C/S、B/S的優(yōu)劣,建立C/S、B/S結(jié)構(gòu)相結(jié)合的網(wǎng)絡(luò)構(gòu)架已成為必然趨勢。在實(shí)際開發(fā)和規(guī)劃系統(tǒng)的時(shí)候要有的放矢,才能夠搭建成合適的信息系統(tǒng)。

下面以學(xué)校學(xué)生管理系統(tǒng)為實(shí)例說明這種設(shè)計(jì)方法。該系統(tǒng)采用B/S+C/S體系結(jié)構(gòu),結(jié)合了ASP技術(shù),并將組件技術(shù)COM+和ActiveX技術(shù)分別應(yīng)用在服務(wù)器端和客戶端。該系統(tǒng)的實(shí)現(xiàn)主要分為三個(gè)部分:ASP頁面、COM+組件和數(shù)據(jù)庫,是一個(gè)三層結(jié)構(gòu)。表示層由ASP頁面組成,用以實(shí)現(xiàn)WEB頁面顯示和調(diào)用COM+組件,業(yè)務(wù)邏輯和數(shù)據(jù)訪問由一組用VC實(shí)現(xiàn)的COM+組件構(gòu)成。為了便于維護(hù)、升級和實(shí)現(xiàn)分布式應(yīng)用,在實(shí)現(xiàn)過程中,又將業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層分離開,ASP頁面不直接調(diào)用數(shù)據(jù)訪問層,而是通過業(yè)務(wù)邏輯層調(diào)用數(shù)據(jù)庫。一些需要用WEB處理的、滿足大多數(shù)訪問者請求的功能界面采用B/S結(jié)構(gòu),例如任課教師可以通過瀏覽器查詢所教班級學(xué)生各種相關(guān)信息;學(xué)校管理人員通過瀏覽器對學(xué)校的學(xué)生、教師等信息進(jìn)行管理與維護(hù)以及查詢統(tǒng)計(jì);領(lǐng)導(dǎo)層可通過瀏覽器進(jìn)行數(shù)據(jù)的查詢和決策。這樣客戶端比較靈活。而后臺只需少數(shù)人使用的功能則采用C/S結(jié)構(gòu),例如數(shù)據(jù)庫管理維護(hù)界面。如此處理,可充分發(fā)揮各種模式的優(yōu)越性——避免了B/S結(jié)構(gòu)在安全性、保密性和響應(yīng)速度等方面的缺點(diǎn)以及C/S結(jié)構(gòu)在維護(hù)和靈活性等方面的缺點(diǎn)。COM+的實(shí)現(xiàn)可分為三個(gè)步驟:COM+組件的設(shè)計(jì)、COM+應(yīng)用程序的生成和編程。COM+組件位于WEB應(yīng)用程序中,客戶端發(fā)出請求到WEB SERVER。WEB SERVER將請求傳給WEB應(yīng)用程序。WEB應(yīng)用程序?qū)?shù)據(jù)請求傳送給數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器將數(shù)據(jù)返回WEB應(yīng)用程序。然后再由WEB SERVER將數(shù)據(jù)傳送給客戶端。對于一些較難實(shí)現(xiàn)的功能通過在頁面中嵌入ActiveX控件來實(shí)現(xiàn)。

采用這種結(jié)構(gòu)優(yōu)點(diǎn)在于:

(1)充分發(fā)揮了B/S與C/S體系結(jié)構(gòu)的優(yōu)勢,彌補(bǔ)了二者不足。充分考慮用戶利益,保證瀏覽查詢者方便操作的同時(shí)也使得系統(tǒng)更新簡單,維護(hù)簡單靈活,易于操作。

(2)信息發(fā)布采用B/S結(jié)構(gòu),保持了瘦客戶端的優(yōu)點(diǎn)。裝入客戶機(jī)的軟件可以采用統(tǒng)一的WWW瀏覽器。而且由于WWW瀏覽器和網(wǎng)絡(luò)綜合服務(wù)器都是基于工業(yè)標(biāo)準(zhǔn),可以在所有的平臺上工作。

(3)數(shù)據(jù)庫端采用C/S結(jié)構(gòu),通過ODBC/JDBC連接。這一部分只涉及到系統(tǒng)維護(hù)、數(shù)據(jù)更新等,不存在完全采用C/S結(jié)構(gòu)帶來的客戶端維護(hù)工作量大等缺點(diǎn)。并且在客戶端可以構(gòu)造非常復(fù)雜的應(yīng)用,界面友好靈活,易于操作,能解決許多B/S存在的固有缺點(diǎn)。

(4)對于原有的基于C/S體系結(jié)構(gòu)的應(yīng)用,只需開發(fā)用于發(fā)布的WWW界面,就可非常容易地升級到這種體系結(jié)構(gòu),并保留原來的某些子系統(tǒng)。這樣就充分地利用現(xiàn)有系統(tǒng)的資源。

(5)通過在瀏覽器中嵌入ActiveX控件可以實(shí)現(xiàn)在瀏覽器中不能實(shí)現(xiàn)或?qū)崿F(xiàn)起來比較困難的功能。例如通過瀏覽器進(jìn)行報(bào)表的應(yīng)答。

(6)將服務(wù)器端劃分為WEB服務(wù)器和WEB應(yīng)用程序兩部分。WEB應(yīng)用程序采用組件技術(shù)實(shí)現(xiàn)三層體系結(jié)構(gòu)中的邏輯部分,達(dá)到封裝的目的。

B/S結(jié)構(gòu)與C/S結(jié)構(gòu)各具優(yōu)缺點(diǎn),怎樣結(jié)合B/S與C/S開發(fā)系統(tǒng)是開發(fā)MIS系統(tǒng)普遍關(guān)注的問題。在應(yīng)用過程中,應(yīng)結(jié)合實(shí)際情況,并根據(jù)實(shí)際情況進(jìn)行系統(tǒng)的選型與構(gòu)建,從而開發(fā)出高效、安全的應(yīng)用系統(tǒng)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉