|
C/S及B/S結(jié)構(gòu)在校園一卡通系統(tǒng)中的應(yīng)用时间:2022-06-10 【转载】 C/S結(jié)構(gòu) C/S(client/server)客戶/服務(wù)器結(jié)構(gòu)是20世紀(jì)90年代較為先進(jìn)的結(jié)構(gòu),具有強(qiáng)大的數(shù)據(jù)操作和事務(wù)處理能力。傳統(tǒng)二層C/S結(jié)構(gòu)將應(yīng)用一分為二,服務(wù)器(后臺)負(fù)責(zé)數(shù)據(jù)管理,客戶機(jī)(前臺)完成與用戶的交互任務(wù)。C/S結(jié)構(gòu)主要優(yōu)點(diǎn)在于系統(tǒng)的客戶應(yīng)用程序和服務(wù)器構(gòu)件分別在不同的計(jì)算機(jī)上,系統(tǒng)中每臺服務(wù)器都可以適合構(gòu)件的要求,這對于硬件和軟件的變化顯示出極大的適應(yīng)性和靈活性,且易于對系統(tǒng)進(jìn)行擴(kuò)充和縮小。但隨著企業(yè)規(guī)模的日益擴(kuò)大,軟件的復(fù)雜程序不斷提高,傳統(tǒng)二層C/S結(jié)構(gòu)存在一些局限性,如軟、硬件的組合及集成能力有限、客戶機(jī)負(fù)荷太重、數(shù)據(jù)安全性不夠好等,提出了三層C/S結(jié)構(gòu)。三層C/S結(jié)構(gòu)在傳統(tǒng)二層C/S結(jié)構(gòu)中增加了一個應(yīng)用服務(wù)器,將整個應(yīng)用邏輯駐留在此應(yīng)用服務(wù)器上,這樣,三層C/S結(jié)構(gòu)將應(yīng)用功能分為表示層、功能層和數(shù)據(jù)層三個部分,彌補(bǔ)了二層C/S結(jié)構(gòu)的一些不足,有效提高了系統(tǒng)的靈活性、高效性、安全性,如圖1所示。 圖1 一卡通系統(tǒng)三層C/S結(jié)構(gòu)示意圖 表示層:用戶接口部份,擔(dān)負(fù)用戶與應(yīng)用間的對話功能。提供信息瀏覽、數(shù)據(jù)輸入輸出查詢。 功能層:實(shí)現(xiàn)客戶的全部業(yè)務(wù)邏輯。通過接口響應(yīng)表示層發(fā)出的請求,完成相應(yīng)的業(yè)務(wù)處理及對數(shù)據(jù)庫的操作,并把結(jié)果返回給客戶端。 數(shù)據(jù)層:數(shù)據(jù)庫管理系統(tǒng),負(fù)責(zé)管理對數(shù)據(jù)庫數(shù)據(jù)的讀寫。實(shí)現(xiàn)數(shù)據(jù)定義、存儲、備份、檢索,響應(yīng)功能層的數(shù)據(jù)處理請求,并將結(jié)果返回給功能層。 使用這種模型,可以將系統(tǒng)需求劃分成可以明確定義的服務(wù),并邏輯上使其獨(dú)立,這樣安全性得到了更高的保證。該模型可以更靈活有效的選用相應(yīng)平臺和硬件系統(tǒng),各層之間可以并行開發(fā),也可以選擇各自合適的開發(fā)語言,使系統(tǒng)開發(fā)起來更加高效,性價比更高。 1.2 中間件技術(shù) 在三層C/S結(jié)構(gòu)中,中間件是最重要的構(gòu)件。它位于硬件、操作系統(tǒng)平臺和應(yīng)用程序之間,是一個用API定義的軟件層,是具有強(qiáng)大通信能力和良好可擴(kuò)展性的分布式軟件管理框架,可實(shí)現(xiàn)不同硬件和操作系統(tǒng)平臺上的數(shù)據(jù)共享和應(yīng)用互操作。中間件技術(shù)對數(shù)據(jù)接口的開放性和安全性方面來說都是最佳的一種模式。數(shù)據(jù)服務(wù)器通過建立一系列的中間數(shù)據(jù)服務(wù),根據(jù)系統(tǒng)的功能、性能等各方面的需求,系統(tǒng)管理員可以在網(wǎng)絡(luò)上靈活的部署這些組件.針對不同的第三方系統(tǒng)應(yīng)用,同時制定不同的開放策略,靈活性很高。中間件技術(shù)具有可重用性、靈活性、可管理性、易維護(hù)性等一系列優(yōu)良的特性。一卡通系統(tǒng)采用了流行的中間件技術(shù),加強(qiáng)了數(shù)據(jù)交換的靈活性、傳輸?shù)陌踩裕约耙讓?shí)施性等諸多優(yōu)點(diǎn),如與水電費(fèi)繳費(fèi)系統(tǒng)、網(wǎng)絡(luò)繳費(fèi)系統(tǒng)、圖書館借閱書管理系統(tǒng)等等系統(tǒng)對接,很好的實(shí)現(xiàn)了軟件可復(fù)用,靈活性優(yōu)點(diǎn)。其結(jié)構(gòu)圖如圖2所示。 圖2 中間件交互結(jié)構(gòu)不意圖 1.3 DCOM 技術(shù) Microsoft的DCOM(分布式組件模型)技術(shù)是OLE與ActiveX的擴(kuò)展,是實(shí)現(xiàn)三層C/S結(jié)構(gòu)的關(guān)鍵技術(shù),它支持在不同計(jì)算機(jī)上組件對象與客戶程序之間或者組件之間的相互通信,這些計(jì)算機(jī)可以分布在局域網(wǎng)、廣域網(wǎng)上。DCOM 具有以下幾個特點(diǎn): 1)可復(fù)用性:構(gòu)件支持的重用是建立在構(gòu)件對象的行為方式上,而不是具體的實(shí)現(xiàn)上。它既支持面向?qū)ο蟮拇a級復(fù)用,也支持目標(biāo)碼級復(fù)用。 2)語言無關(guān)性:DCOM 是一個二進(jìn)制代碼級的標(biāo)準(zhǔn),不依賴于特定的編程語言。 3)易擴(kuò)展性:當(dāng)測試系統(tǒng)的負(fù)載發(fā)生變化時,DCOM 可以輕松地把所需的組件和功能模塊進(jìn)行分配,極大地方便了系統(tǒng)軟件的測試和維護(hù)。 4)構(gòu)件運(yùn)行進(jìn)程和位置透明性:DCOM對分布式應(yīng)用的支持是基于遠(yuǎn)程過程調(diào)用(RPC)的進(jìn)程間通信機(jī)制,RPC為DCOM提供了跨越網(wǎng)絡(luò)為對象服務(wù)的能力。 DCOM技術(shù)要求用戶依據(jù)軟件的要求開發(fā)組件,這些組件通常是被設(shè)計(jì)成DLL的形式,可以將這些組件放置在一臺專用的組件服務(wù)器上,由客戶端來進(jìn)行遠(yuǎn)程調(diào)用,或者直接放于客戶端進(jìn)行調(diào)用。 B/S結(jié)構(gòu) B/S(Browser/Server)結(jié)構(gòu),即瀏覽器/服務(wù)器結(jié)構(gòu)。其原理簡單來說就是用戶通過瀏覽器向服務(wù)器發(fā)送請求,服務(wù)器收到請求后對其進(jìn)行處理,然后將用戶所需的信息返回到瀏覽器,實(shí)現(xiàn)瀏覽器與服務(wù)器的交互功能。B/S結(jié)構(gòu)不需要用戶在客戶機(jī)安裝管理軟件,只需配置少量的插件程序,這對比C/S結(jié)構(gòu)而言,客戶機(jī)的壓力減輕了,把負(fù)荷分配給了WEB服務(wù)器。在B/S結(jié)構(gòu)中,系統(tǒng)安裝、修改和維護(hù)全在服務(wù)器端解決,系統(tǒng)可以面向網(wǎng)絡(luò)上所有用戶,可以更加的充分利用資源。而C/S結(jié)構(gòu)中,客戶端程序需要安裝在每一臺客戶機(jī)上,系統(tǒng)及客戶端升級或者更新都需要在每一臺服務(wù)器及客戶機(jī)上處理,工程量很大。因此,對比C/S結(jié)構(gòu),B/S結(jié)構(gòu)在系統(tǒng)升級方面有很大的優(yōu)勢;且可以在運(yùn)行時升級,同時應(yīng)用程序維護(hù)的工作量也大大減少;管理員可以把主要精力放在服務(wù)器程序的更新 |