中间件技术在校园一卡通系统的应用
文章出处:http://www.ifyousmell.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