C/S及B/S結(jié)構(gòu)在校園一卡通系統(tǒng)中的應(yīng)用
文章出處:http://coolbang.cn 作者: 人氣: 發(fā)表時(shí)間:2011年09月16日
摘 要:C/S及B/S軟件體系結(jié)構(gòu)風(fēng)格在廣東輕工職業(yè)技術(shù)學(xué)院校園一卡通系統(tǒng)中得到了廣泛的應(yīng)用,各套業(yè)務(wù)系統(tǒng)結(jié)構(gòu)均采用了三層C/S或B/S軟件體系結(jié)構(gòu)風(fēng)格。該文通過(guò)對(duì)C/S結(jié)構(gòu)、B/S結(jié)構(gòu)及相關(guān)技術(shù)的介紹,分析了校園一卡通系統(tǒng)采用C/S和B/S混合體系結(jié)構(gòu)的特點(diǎn)及實(shí)現(xiàn)。
0 引言
隨著科學(xué)技術(shù)的高速發(fā)展,我們的社會(huì)已逐步邁向數(shù)字化、信息化、網(wǎng)絡(luò)化。各高等院校作為發(fā)展的先驅(qū),相繼建立了自己的校園網(wǎng)并得到不斷的完善,校園一卡通系統(tǒng)正是在校園網(wǎng)平臺(tái)的基礎(chǔ)上建立起來(lái),成為數(shù)字化校園建設(shè)的重要部分。校園一卡通系統(tǒng)包含了多種金融系統(tǒng)和信息管理系統(tǒng),為實(shí)現(xiàn)“一卡在手,走遍校園”的愿望,校園一卡通系統(tǒng)將多種應(yīng)用集于一張Ic卡當(dāng)中,并且系統(tǒng)的功能應(yīng)用也在不斷的擴(kuò)展。基于一卡通系統(tǒng)的功能擴(kuò)展需要軟件的靈活性、可維護(hù)性、可重性,數(shù)據(jù)處理的高效性、安全性等問(wèn)題,廣東輕工職業(yè)技術(shù)學(xué)院校園一卡通系統(tǒng)采用了三層C/S及B/S結(jié)構(gòu)混合使用的風(fēng)格。
1 系統(tǒng)結(jié)構(gòu)及相關(guān)技術(shù)
1.1 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ù)器(后臺(tái))負(fù)責(zé)數(shù)據(jù)管理,客戶機(jī)(前臺(tái))完成與用戶的交互任務(wù)。C/S結(jié)構(gòu)主要優(yōu)點(diǎn)在于系統(tǒng)的客戶應(yīng)用程序和服務(wù)器構(gòu)件分別在不同的計(jì)算機(jī)上,系統(tǒng)中每臺(tái)服務(wù)器都可以適合構(gòu)件的要求,這對(duì)于硬件和軟件的變化顯示出極大的適應(yīng)性和靈活性,且易于對(duì)系統(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)。來(lái)源一卡通世界。三層C/S結(jié)構(gòu)在傳統(tǒng)二層C/S結(jié)構(gòu)中增加了一個(gè)應(yīng)用服務(wù)器,將整個(gè)應(yīng)用邏輯駐留在此應(yīng)用服務(wù)器上,這樣,三層C/S結(jié)構(gòu)將應(yīng)用功能分為表示層、功能層和數(shù)據(jù)層三個(gè)部分,彌補(bǔ)了二層C/S結(jié)構(gòu)的一些不足,有效提高了系統(tǒng)的靈活性、高效性、安全性,如圖1所示。
圖1 一卡通系統(tǒng)三層C/S結(jié)構(gòu)示意圖
表示層:用戶接口部份,擔(dān)負(fù)用戶與應(yīng)用間的對(duì)話功能。提供信息瀏覽、數(shù)據(jù)輸入輸出查詢。
功能層:實(shí)現(xiàn)客戶的全部業(yè)務(wù)邏輯。通過(guò)接口響應(yīng)表示層發(fā)出的請(qǐng)求,完成相應(yīng)的業(yè)務(wù)處理及對(duì)數(shù)據(jù)庫(kù)的操作,并把結(jié)果返回給客戶端。
數(shù)據(jù)層:數(shù)據(jù)庫(kù)管理系統(tǒng),負(fù)責(zé)管理對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的讀寫(xiě)。實(shí)現(xiàn)數(shù)據(jù)定義、存儲(chǔ)、備份、檢索,響應(yīng)功能層的數(shù)據(jù)處理請(qǐng)求,并將結(jié)果返回給功能層。
使用這種模型,可以將系統(tǒng)需求劃分成可以明確定義的服務(wù),并邏輯上使其獨(dú)立,這樣安全性得到了更高的保證。該模型可以更靈活有效的選用相應(yīng)平臺(tái)和硬件系統(tǒng),各層之間可以并行開(kāi)發(fā),也可以選擇各自合適的開(kāi)發(fā)語(yǔ)言,使系統(tǒng)開(kāi)發(fā)起來(lái)更加高效,性價(jià)比更高。
1.2 中間件技術(shù)
在三層C/S結(jié)構(gòu)中,中間件是最重要的構(gòu)件。它位于硬件、操作系統(tǒng)平臺(tái)和應(yīng)用程序之間,是一個(gè)用API定義的軟件層,是具有強(qiáng)大通信能力和良好可擴(kuò)展性的分布式軟件管理框架,可實(shí)現(xiàn)不同硬件和操作系統(tǒng)平臺(tái)上的數(shù)據(jù)共享和應(yīng)用互操作。中間件技術(shù)對(duì)數(shù)據(jù)接口的開(kāi)放性和安全性方面來(lái)說(shuō)都是最佳的一種模式。數(shù)據(jù)服務(wù)器通過(guò)建立一系列的中間數(shù)據(jù)服務(wù),根據(jù)系統(tǒng)的功能、性能等各方面的需求,系統(tǒng)管理員可以在網(wǎng)絡(luò)上靈活的部署這些組件.針對(duì)不同的第三方系統(tǒng)應(yīng)用,同時(shí)制定不同的開(kāi)放策略,靈活性很高。中間件技術(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)、圖書(shū)館借閱書(shū)管理系統(tǒng)等等系統(tǒng)對(duì)接,很好的實(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ī)上組件對(duì)象與客戶程序之間或者組件之間的相互通信,這些計(jì)算機(jī)可以分布在局域網(wǎng)、廣域網(wǎng)上。DCOM 具有以下幾個(gè)特點(diǎn):
1)可復(fù)用性:構(gòu)件支持的重用是建立在構(gòu)件對(duì)象的行為方式上,而不是具體的實(shí)現(xiàn)上。它既支持面向?qū)ο蟮拇a級(jí)復(fù)用,也支持目標(biāo)碼級(jí)復(fù)用。
2)語(yǔ)言無(wú)關(guān)性:DCOM 是一個(gè)二進(jìn)制代碼級(jí)的標(biāo)準(zhǔn),不依賴于特定的編程語(yǔ)言。
3)易擴(kuò)展性:當(dāng)測(cè)試系統(tǒng)的負(fù)載發(fā)生變化時(shí),DCOM 可以輕松地把所需的組件和功能模塊進(jìn)行分配,極大地方便了系統(tǒng)軟件的測(cè)試和維護(hù)。
4)構(gòu)件運(yùn)行進(jìn)程和位置透明性:DCOM對(duì)分布式應(yīng)用的支持是基于遠(yuǎn)程過(guò)程調(diào)用(RPC)的進(jìn)程間通信機(jī)制,RPC為DCOM提供了跨越網(wǎng)絡(luò)為對(duì)象服務(wù)的能力。
DCOM技術(shù)要求用戶依據(jù)軟件的要求開(kāi)發(fā)組件,這些組件通常是被設(shè)計(jì)成DLL的形式,可以將這些組件放置在一臺(tái)專(zhuān)用的組件服務(wù)器上,由客戶端來(lái)進(jìn)行遠(yuǎn)程調(diào)用,或者直接放于客戶端進(jìn)行調(diào)用。
1.4 B/S結(jié)構(gòu)
B/S(Browser/Server)結(jié)構(gòu),即瀏覽器/服務(wù)器結(jié)構(gòu)。其原理簡(jiǎn)單來(lái)說(shuō)就是用戶通過(guò)瀏覽器向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器收到請(qǐng)求后對(duì)其進(jìn)行處理,然后將用戶所需的信息返回到瀏覽器,實(shí)現(xiàn)瀏覽器與服務(wù)器的交互功能。B/S結(jié)構(gòu)不需要用戶在客戶機(jī)安裝管理軟件,只需配置少量的插件程序,這對(duì)比C/S結(jié)構(gòu)而言,客戶機(jī)的壓力減輕了,把負(fù)荷分配給了WEB服務(wù)器。來(lái)源一卡通世界。在B/S結(jié)構(gòu)中,系統(tǒng)安裝、修改和維護(hù)全在服務(wù)器端解決,系統(tǒng)可以面向網(wǎng)絡(luò)上所有用戶,可以更加的充分利用資源。而C/S結(jié)構(gòu)中,客戶端程序需要安裝在每一臺(tái)客戶機(jī)上,系統(tǒng)及客戶端升級(jí)或者更新都需要在每一臺(tái)服務(wù)器及客戶機(jī)上處理,工程量很大。因此,對(duì)比C/S結(jié)構(gòu),B/S結(jié)構(gòu)在系統(tǒng)升級(jí)方面有很大的優(yōu)勢(shì);且可以在運(yùn)行時(shí)升級(jí),同時(shí)應(yīng)用程序維護(hù)的工作量也大大減少;管理員可以把主要精力放在服務(wù)器程序的更新工作上。
同時(shí),與C/S結(jié)構(gòu)相比,B/S結(jié)構(gòu)也有以下不足之處:
1)B/S結(jié)構(gòu)對(duì)動(dòng)態(tài)頁(yè)面的支持能力和數(shù)據(jù)庫(kù)處理能力較差。
2)B/S結(jié)構(gòu)的系統(tǒng)擴(kuò)展能力較差,采用瀏覽器以HTTP方式,可靠性、安全性較低。
3)處理大量數(shù)據(jù)或大量用戶同時(shí)訪問(wèn)時(shí),B/S結(jié)構(gòu)在響應(yīng)速度方面遠(yuǎn)遠(yuǎn)低于C/S結(jié)構(gòu),且會(huì)造成WEB服務(wù)器負(fù)載過(guò)重。
4)B/S結(jié)構(gòu)在數(shù)據(jù)的交互性上不夠強(qiáng),不利于在線事務(wù)處理應(yīng)用。
2 系統(tǒng)應(yīng)用與實(shí)現(xiàn)
我校一卡通系統(tǒng)采用C/S結(jié)構(gòu)與B/S結(jié)構(gòu)混合模式,主要是將這兩種結(jié)構(gòu)優(yōu)點(diǎn)都發(fā)揮出來(lái),提高系統(tǒng)安全,揚(yáng)長(zhǎng)避短,很好的實(shí)現(xiàn)用戶的需求。系統(tǒng)查詢功能主要采用B/S結(jié)構(gòu)模式,而其中采用專(zhuān)用硬件設(shè)備操作的部分或觸摸屏客戶端繳費(fèi)系統(tǒng)采用C/S模式,具體如:Ic卡綜合業(yè)務(wù)模塊、身份信息采集模塊、繳費(fèi)系統(tǒng)等采用C/S模式,基礎(chǔ)數(shù)據(jù)查詢模塊、掛失IC卡、水電費(fèi)查詢等采用B/S模式。系統(tǒng)使用多臺(tái)應(yīng)用服務(wù)器及Web服務(wù)器,負(fù)責(zé)不同的功能模塊,與數(shù)據(jù)庫(kù)的操作是通過(guò)Oracle 8數(shù)據(jù)引擎來(lái)完成的。
2.1 C/S結(jié)構(gòu)的運(yùn)用與實(shí)現(xiàn)
一卡通系統(tǒng)中,對(duì)于使用POS刷卡機(jī)以及用Ic卡等設(shè)備的業(yè)務(wù)應(yīng)用模塊采用C/S結(jié)構(gòu),只有授權(quán)的應(yīng)用子系統(tǒng)才能進(jìn)行連接。具體運(yùn)用如下:
1)飯?zhí)?、超市、?chē)載、水控等用POS刷卡機(jī)消費(fèi)方式的商務(wù)管理子系統(tǒng)。這一方式均是用硬件系統(tǒng)來(lái)實(shí)現(xiàn),采用智能Ic卡,結(jié)合數(shù)據(jù)傳輸技術(shù),把POS機(jī)作為消費(fèi)終端,將刷卡消費(fèi)流水通過(guò)485通訊線傳輸至網(wǎng)關(guān),網(wǎng)關(guān)收集所有POS機(jī)傳來(lái)的流水經(jīng)過(guò)校園網(wǎng)傳輸至應(yīng)用服務(wù)器,實(shí)現(xiàn)多層C/S結(jié)構(gòu)。
2)使用Ic卡的其它業(yè)務(wù)方式。這需要在客戶機(jī)上配備一個(gè)通用讀卡器,用來(lái)讀取Ic卡里的信息。如用于充值結(jié)算業(yè)務(wù)的綜合業(yè)務(wù)子系統(tǒng)、廣東輕工職業(yè)技術(shù)學(xué)院個(gè)性化設(shè)置的網(wǎng)費(fèi)、水費(fèi)、電費(fèi)繳費(fèi)系統(tǒng)、圖書(shū)管理子系統(tǒng)、上機(jī)管理子系統(tǒng)等。其中網(wǎng)費(fèi)、水費(fèi)、電費(fèi)繳費(fèi)系統(tǒng)是針對(duì)校園個(gè)性化設(shè)計(jì)的系統(tǒng),采用Delphi 7.0開(kāi)發(fā)環(huán)境的Automation ObjectWizard定義了DCOM類(lèi),并用類(lèi)型庫(kù)編輯器定義接口的屬性和方法,最終結(jié)合一卡通系統(tǒng)提供的第三方接入套件API進(jìn)行系統(tǒng)參數(shù)對(duì)接,實(shí)現(xiàn)了與其它子系統(tǒng)耦合成一卡通系統(tǒng)。圖書(shū)館管理子系統(tǒng)是已經(jīng)應(yīng)用了較為成熟且專(zhuān)業(yè)的管理系統(tǒng),為了保護(hù)學(xué)校前期投資和系統(tǒng)平滑升級(jí),同樣通過(guò)中間件技術(shù)和一卡通系統(tǒng)緊密耦合在一起。這樣,加快了軟件的開(kāi)發(fā)進(jìn)度,直接使用現(xiàn)有的成熟開(kāi)發(fā)類(lèi)庫(kù),避免了與硬件結(jié)合的測(cè)試和節(jié)約了時(shí)間。
3)使用客戶端系統(tǒng)的方式,如身份信息管理系統(tǒng)。就是使用管理界面與應(yīng)用服務(wù)器進(jìn)行交互,針對(duì)身份信息采集和管理功能而開(kāi)發(fā),是制作信息Ic卡的首先步驟。
2.2 B/S結(jié)構(gòu)的運(yùn)用與實(shí)現(xiàn)
雖然在與硬件設(shè)備緊密結(jié)合的模塊采用C/S結(jié)構(gòu),系統(tǒng)大范圍的應(yīng)用還是基于B/S結(jié)構(gòu),主要體現(xiàn)在Ic卡消費(fèi)流水查詢、IC卡掛失處理,網(wǎng)費(fèi)、水費(fèi)、電費(fèi)查詢系統(tǒng)上。在校園一卡通系統(tǒng)中,WEB服務(wù)器采用的是J2EE (Java 2 platform enterpriseedition)平臺(tái),Java的優(yōu)勢(shì)是純語(yǔ)言的,跨平臺(tái)性非常好。它所提供的Java分布對(duì)象技術(shù)和基于XML的數(shù)據(jù)交換,以及統(tǒng)一的安全模式和靈活的事物控制,非常適用擁有復(fù)雜事務(wù)和大量數(shù)據(jù)流的校園一卡通系統(tǒng)。
3 結(jié)束語(yǔ)
基于以上系統(tǒng)結(jié)構(gòu)的分析,校園一卡通系統(tǒng)上應(yīng)用的商務(wù)管理子系統(tǒng)、綜合業(yè)務(wù)子系統(tǒng)、身份信息管理子系統(tǒng)和繳費(fèi)子系統(tǒng)等由于要求實(shí)時(shí)響應(yīng)程度高及安全性能高的特點(diǎn),采用了C/S三層體系結(jié)構(gòu)風(fēng)格;通過(guò)校園網(wǎng)訪問(wèn)的查詢業(yè)務(wù)子系統(tǒng)由于面向全校師生,范圍廣,故采用B/S體系結(jié)構(gòu)。廣東輕工職業(yè)技術(shù)學(xué)院2004年建設(shè)一卡通系統(tǒng)至今,已經(jīng)實(shí)現(xiàn)廣州校區(qū)和南海校區(qū)兩校區(qū)互聯(lián),一卡通系統(tǒng)在兩校區(qū)正常運(yùn)行,基本實(shí)現(xiàn)了“一卡在手,走遍校園”的愿望。
參考文獻(xiàn):
[1] 張友生.軟件體系結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2006.
[2] 周蕾,劉虎.中間件技術(shù)在校園一卡通系統(tǒng)的應(yīng)用[J].金卡工程,2008(4):56.
[3] 張加林,陳小平.COM/DCOM 技術(shù)分析及其應(yīng)用[J].情報(bào)指揮控制系統(tǒng)與仿真技術(shù),2003(1):47.
[4] 連光耀,黃考利,李天剛.基于DCOM技術(shù)的分布式網(wǎng)絡(luò)測(cè)試系統(tǒng)設(shè)計(jì)[J].儀表技術(shù),2004(3):17.
[5] 鄭貴林,夏丹,岳林.基于J2EE的城域網(wǎng)公交一卡通系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007(21).
[6] 劉學(xué)武,彭玲藝.淺談系統(tǒng)開(kāi)發(fā)C/S與B/S模式[J].企業(yè)技術(shù)開(kāi)發(fā),2008(2):58.
【稿件聲明】:如需轉(zhuǎn)載,必須注明來(lái)源和作者,保留文中圖片和內(nèi)容的完整性,違者將依法追究。