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