中間件技術(shù)在校園一卡通系統(tǒng)的應(yīng)用
文章出處:http://botanicstilllife.com 作者:周蕾 劉虎 人氣: 發(fā)表時(shí)間:2011年11月23日
1 引言
隨著智能卡系統(tǒng)在社會(huì)各領(lǐng)域的迅速發(fā)展, 目前很多學(xué)校都建立了自己的智能卡應(yīng)用系統(tǒng)。但由于早期缺乏統(tǒng)一的規(guī)劃,學(xué)校的許多部門引進(jìn)或開發(fā)的智能卡應(yīng)用系統(tǒng)大都各自為政,比如圖書館發(fā)行圖書借閱卡,食堂管理系統(tǒng)發(fā)行飯卡,學(xué)生到機(jī)房上機(jī)使用上機(jī)卡,老師上課使用多媒體使用卡等等,不僅造成老師和學(xué)生手持有多張卡,使用極不方便,而且增加了數(shù)據(jù)在完整性和一致性方面的維護(hù)代價(jià),另外,相同系統(tǒng)的重復(fù)建設(shè)也造成學(xué)校資源的極大浪費(fèi)。校園一卡通建設(shè)工作可以利用智能IC卡的強(qiáng)大功能和計(jì)算機(jī)網(wǎng)絡(luò),把整個(gè)校同的管理子系統(tǒng)有機(jī)地銜接起來,加強(qiáng)校內(nèi)資源共享,減少重復(fù)建設(shè),實(shí)現(xiàn)校園信息管理和消費(fèi)服務(wù)方式的智能化和數(shù)字化,促進(jìn)校園信息化管理水平的提高。
2 系統(tǒng)功能設(shè)計(jì)
校園一卡通的目標(biāo)就是使全校的學(xué)生和教工通過一張智能IC卡,全面替代現(xiàn)有的多張卡和證件。學(xué)生和教職工可持此卡在學(xué)校聯(lián)網(wǎng)的卡機(jī)上完成就餐、上機(jī)、洗浴、注冊、借書、選課、食詢考試成績等校內(nèi)所有事務(wù)。根據(jù)校同一卡通的建設(shè)目標(biāo),結(jié) 合我院的實(shí)際需求,大致可以將系統(tǒng)分為射頻卡管理子系統(tǒng)、餐飲計(jì)費(fèi)管理子系統(tǒng)、機(jī)房計(jì)費(fèi)管理子系統(tǒng)、圖書館卡管理子系統(tǒng)、門禁管理子系統(tǒng)等。在整個(gè)校園一卡通系統(tǒng)中,射頻卡管理子系統(tǒng)為核心部分。射頻卡管理子系統(tǒng)管理學(xué)校人員的基本信息.負(fù)責(zé)卡的發(fā)行、掛失、解掛、注銷及存款等財(cái)務(wù)管理以及操作員管理。其它子系統(tǒng)在使用時(shí),首先通過刷卡機(jī)讀取卡的信息,驗(yàn)證卡的有效性,若通過驗(yàn)證,則進(jìn)行相應(yīng)的處理,卡中的有關(guān)信息也隨之改變,并進(jìn)行記錄,然后把數(shù)據(jù)上傳到一卡通中心數(shù)據(jù)庫服務(wù)器,進(jìn)行更新。
3 數(shù)據(jù)庫方案昀分析
在數(shù)據(jù)庫分布方案的選擇上主要考慮集中式數(shù)據(jù)庫和分布式數(shù)據(jù)庫。采用集中式數(shù)據(jù)庫,將所有的數(shù)據(jù)都存放在中心數(shù)據(jù)庫服務(wù)器上,這樣有利于數(shù)據(jù)的維護(hù)和保持它的一致性.但一旦中心數(shù)據(jù)庫發(fā)生了故障,整個(gè)系統(tǒng)都將癱瘓。采用分布式數(shù)據(jù)庫.?dāng)?shù)據(jù)將分散在各個(gè)數(shù)據(jù)庫服務(wù)器上,這樣的好處是如果有一臺(tái)或幾臺(tái)服務(wù)器發(fā)生故障,系統(tǒng)仍然能夠繼續(xù)運(yùn)行,但需要花一定的代價(jià)來保持各個(gè)子數(shù)據(jù)庫與中心數(shù)據(jù)庫的數(shù)據(jù)一致.適用于對實(shí)時(shí)性、穩(wěn)定性及數(shù)據(jù)庫性能要求極高的數(shù)據(jù)庫系統(tǒng)。由于校園一卡通系統(tǒng)分布應(yīng)用不是很廣,主要集中在校園內(nèi),且金額的扣除在射頻卡上完成,后臺(tái)數(shù)據(jù)庫主要功能用于存儲(chǔ)信息及查詢,對實(shí)時(shí)性要求相對不高,集中式數(shù)據(jù)庫已能滿足數(shù)據(jù)處理要求。經(jīng)過以上分析,本校園一卡通系統(tǒng)采用集中式數(shù)據(jù)庫。
4 系統(tǒng)結(jié)構(gòu)
4.1 三層結(jié)構(gòu)模式
本系統(tǒng)結(jié)構(gòu)采用三層C/S模式,與傳統(tǒng)的客戶機(jī)/服務(wù)器(即傳統(tǒng)C/S模式)結(jié)構(gòu)不同的是,三層結(jié)構(gòu)多了一個(gè)中間層。傳統(tǒng)客戶機(jī)/月艮務(wù)器的缺點(diǎn)是顯而易見的。首先客戶端與數(shù)據(jù)層直接通信 數(shù)據(jù)的安全性是個(gè)潛在的問題;其次.客戶端包含了業(yè)務(wù)邏輯,當(dāng)業(yè)務(wù)規(guī)則出現(xiàn)變化時(shí),就不得不通過升級(jí)客戶端來實(shí)現(xiàn).軟件的易用性和可維護(hù)性大大降低;最后,由于客戶 端丁作對數(shù)據(jù)庫服務(wù)器的依賴較大,從而導(dǎo)致網(wǎng)絡(luò)的通信負(fù)載過大,使整個(gè)系統(tǒng)性能受影響。三層C/S結(jié)構(gòu)是傳統(tǒng)客戶機(jī)朋艮務(wù)器模式的發(fā)展,屬于多層體系 由于采用了中間層,客戶端不能直接訪問數(shù)據(jù)庫,使數(shù)據(jù)庫的安全問題得到控制。中間層是業(yè)務(wù)對象層,當(dāng)業(yè)務(wù)規(guī)則出現(xiàn)變化時(shí),一方面可通過客戶端界面進(jìn)行簡單的參數(shù)維護(hù),另一方面則可通過更改業(yè)務(wù)對象來進(jìn)行維護(hù).由于避免了針對每一個(gè)客戶端的升級(jí)或更改,所以軟件的易用性和可維護(hù)性得到了提高。
4.2中間件技術(shù)
中間件(Middleware)是位于硬件、操作系統(tǒng)平臺(tái)和應(yīng)用程序之間的通用服務(wù)系統(tǒng),具有標(biāo)準(zhǔn)的程序接口和協(xié)議,可實(shí)現(xiàn)不同硬件和操作系統(tǒng)平臺(tái)上的數(shù)據(jù)共享和應(yīng)用互操作。作為構(gòu)造三層結(jié)構(gòu)業(yè)務(wù)應(yīng)用系統(tǒng)的基礎(chǔ)平臺(tái).中間件提供了以下兩個(gè)主要功能:
a)負(fù)責(zé)客戶機(jī)與服務(wù)器之間的聯(lián)系和通訊.提供了表示層與功能層之間,功能層與功能層之間、功能層與數(shù)據(jù)層之間、數(shù)據(jù)層與數(shù)據(jù)層之間的聯(lián)接和完善的通訊機(jī)制。
b)提供了一個(gè)三層結(jié)構(gòu)應(yīng)用開發(fā)和運(yùn)行的平臺(tái).包括:支持模塊化應(yīng)用開發(fā)的框架:硬件、操作系統(tǒng)、數(shù)據(jù)庫和網(wǎng)絡(luò)差異的屏蔽;保證事物完整性和數(shù)據(jù)一致性的事物管理機(jī)制;應(yīng)用的負(fù)載均衡和管理功能;應(yīng)用的高可靠性及安全控制機(jī)制等。
4.3 DCOM 技術(shù)
Microsoft的DCOM (分布式組件模型)技術(shù)是OLE的擴(kuò)展,是實(shí)現(xiàn)三層C/S結(jié)構(gòu)的關(guān)鍵技術(shù)。DCOM技術(shù)要求用戶依據(jù)軟件的要求開發(fā)組件,這些組件通常是被設(shè)計(jì)成DLL的形式,可以將這些組件放置在一臺(tái)專用的組件服務(wù)器上,由客戶端來進(jìn)行遠(yuǎn)程調(diào)用。
5 系統(tǒng)中間件的殳計(jì)
在Visual Basic6.0中,可以使用ActiveX EXE封裝業(yè)務(wù)邏輯.來設(shè)計(jì)組件。根據(jù)系統(tǒng)設(shè)計(jì)的功能模塊,將其中經(jīng)常訪問的一些重要功能設(shè)計(jì)成組件。比如系統(tǒng)中設(shè)計(jì)了數(shù)據(jù)庫操作類adoAccess,因?yàn)橄到y(tǒng)的絕大多數(shù)功能都需要訪問數(shù)據(jù)庫才能實(shí)現(xiàn), adoAccess類提供了打開數(shù)據(jù)庫連接、關(guān)閉數(shù)據(jù)庫連接、執(zhí)行SQL語句獲得記錄集、對數(shù)據(jù)庫進(jìn)行事務(wù)處理等方法.這樣在需要訪問數(shù)據(jù)庫時(shí),系統(tǒng)就不需要重復(fù)編寫關(guān)于數(shù)據(jù)庫連接、訪問等程序段, 只需創(chuàng)建指定的對象.調(diào)用相應(yīng)的方法即可。除此以外,系統(tǒng)還設(shè)計(jì)了管理員信息類、部門信息類、卡信息類、刷卡機(jī)信息類等,這些中間件實(shí)現(xiàn)了系統(tǒng)的主要業(yè)務(wù)邏
輯功能.在此基礎(chǔ)上開發(fā)用戶界面層時(shí)可以不知道數(shù)據(jù)庫的格式,甚至不必了解是何種類型的數(shù)據(jù)庫,只需要知道組件的接口就可以實(shí)現(xiàn)調(diào)用,完成指定的功能。
下面以系統(tǒng)中卡信息類為例,簡單敘述該中間件的設(shè)計(jì)過程??ㄐ畔㈩恈Card用來處理單張卡的信息,主要實(shí)現(xiàn)對單張IC卡中信息操作的基本功能,如在cCard類中提供了對卡中信息進(jìn)行添加、修改、刪除等方法.并提供對卡中CardId、UserId、UserName、Phone、Time、FillMoney等屬性的設(shè)置??ㄐ畔⒓项恈Cards用來處理多張卡的信息,其最小單元為cCard.它完成一組卡信息相關(guān)的操作.比如查找功能。以下是實(shí)現(xiàn)cCards類中查找方法的程序段:
6 結(jié)束語
本系統(tǒng)以IC卡為操作手段,配合校同汁算機(jī)網(wǎng)絡(luò),實(shí)現(xiàn)整個(gè)學(xué)校的全方位IC 網(wǎng)絡(luò)化管理,將先進(jìn)的IC卡技術(shù)服務(wù)應(yīng)用于學(xué)校的教學(xué)、科研、管理和生活等方面。從系統(tǒng)的設(shè)計(jì)過程可以看出,將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問、合法性校驗(yàn)等1:作放到了中間層進(jìn)行處理,通常情況下,客戶端不直接與數(shù)據(jù)庫進(jìn)行交互,而是通過COM/DCOM 通訊與中間層建立連接.冉經(jīng)由中問層與數(shù)據(jù)庫進(jìn)行交互.不僅可以極大地提高開發(fā)效率和靈活性 而且對系統(tǒng)功能的擴(kuò)展也留有很大的余地。
作者簡介:周蕾(1971-),女,淮陰工學(xué)院計(jì)算機(jī)工程系講師,研究方向:計(jì)算機(jī)應(yīng)用,網(wǎng)絡(luò)和數(shù)據(jù)庫
劉虎(1973一),男,淮陰工學(xué)院計(jì)算機(jī)工程系講師,碩士,研究方向:計(jì)算機(jī)應(yīng)用
參考文獻(xiàn):
1、徐文拴,辛運(yùn)幃.基于中間件的校園一卡通系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J1.計(jì)算機(jī)_7-程與設(shè)計(jì).2007年4月第28卷第7期.1724—1726
2、徐金建,湯彬.中間件技術(shù)在“校園一卡通” 系統(tǒng)中的應(yīng)用研究『I1.河北理工學(xué)院學(xué)報(bào).2004年5月第26卷第2期.79—82
3、王向軍.基于中間件Jaguar的校園一卡通系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【l】.長沙大學(xué)學(xué)報(bào).2007年3月第21卷第2期.88—89.96
4、顏偉,蘇兆鋒,諸葛濤.基于分布式系統(tǒng)三層體系結(jié)構(gòu)之中間件『I1.曲阜師范大學(xué)學(xué)報(bào).2007年1月第33卷第1期.118—120.124