<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種基于B/S結構與C/S結構結合的新體系結構

一種基于B/S結構與C/S結構結合的新體系結構

作者: 時(shí)間:2011-08-24 來(lái)源:網(wǎng)絡(luò ) 收藏

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

1

1.1

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

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

1.2

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

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

2 C/S結構與B/S結構的分析比較

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

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

2.2 結構不同

C/S軟件一般采用兩層結構,而B(niǎo)/S采用三層結構。

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

2.3 處理模式不同

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

2.4 構件重用不同

在構件的重用性方面, C/S 程序從整體進(jìn)行考慮,具有較低的重用性。 而B(niǎo)/S 對應的是多重結構,要求構件具有相對獨立的功能,具有較好的重用性。

2.5 系統維護不同

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

2.6 對安全的要求不同

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

2.7 速度不同

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

2.8 交互性與信息流不同

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

3 基于B/S結構與C/S結構結合的體系結構

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

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

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

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

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

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

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

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

(4)對于原有的基于C/S體系結構的應用,只需開(kāi)發(fā)用于發(fā)布的WWW界面,就可非常容易地升級到這種體系結構,并保留原來(lái)的某些子系統。這樣就充分地利用現有系統的資源。

(5)通過(guò)在瀏覽器中嵌入ActiveX控件可以實(shí)現在瀏覽器中不能實(shí)現或實(shí)現起來(lái)比較困難的功能。例如通過(guò)瀏覽器進(jìn)行報表的應答。

(6)將服務(wù)器端劃分為WEB服務(wù)器和WEB應用程序兩部分。WEB應用程序采用組件技術(shù)實(shí)現三層體系結構中的邏輯部分,達到封裝的目的。

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

本文引用地址:http://dyxdggzs.com/article/257840.htm


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>