王耀棱
摘要:对将IC卡融合于高中学生数据管理系统进行分析,结合软件系统的实际情况和功能需求,对这种以融合为目的的实现给出了软件构架和具体方案。
关键词:IC卡;融合;方案
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)20-0078-02
1 绪论
在“高中学生数据管理系统的研究与设计”一文中,笔者谈到利用IC卡读卡器提交学生学号功能。这是课题组研究成果的一个重要创新点。
目前普通高中基本上都在使用基于IC卡技术的校园一卡通系统对学生个人经费进行有效管理。仅用于消费系统,IC卡系统的功用并未发挥完整。基于此种情况,笔者提出将IC卡应用于学生数据管理系统,实际上是将IC卡融合于网络软件的一种具体实现技术,在本文简称为“融合技术”。
2 融合技术目的与研究内容
2.1 融合技术目的
将IC卡融合于学生数据管理系统,可以提高学校管理学生的科学性和高效性,同时有助于高中学校学生信息孤岛问题的解决。
2.2 研究内容
1)基于B/S模式软件客户端调用IC卡读卡器读卡的技术路径。
2)融合技术在高中学生数据管理系统中的具体实现。
3 融合技术研究与解决的技术方案
3.1 研究与分析
IC卡,又称智能卡,是将一个微电子芯片嵌入符合ISO 7816标准的卡基中,做成卡片。它分16个扇区,0扇区记录物理卡号(唯一的),一般由厂家写好,不能更改[1]。开卡时,首先写入卡密钥(12位16进制数),卡的安全型由密钥的设置方式来决定了。其次设置个人账号并在数据库中记录了个人账号和物理卡号的关联;最后写入金额、其它标记(黑名单等)。对于二次开发,需要利用剩余未使用的扇区,可以采用只读写学生号的方式。若卡密码被写入,则需联系首次开发单位,取得密码。有些卡只在扇区写入密码,如笔者使用恩施高中的卡,则直接可以读写余下扇区。
ActiveX控件是一组封装在COM对象中的功能模块,它提供了触发容器应用程序中事件的接口。IC卡的读写方法已封装在AXReadCardProj.ocx中,分别为ReadICCard(),WriteICCard()。
JavaScript是一种脚本语言,它本身不提供IO接口,不能完成外围设备及内存的管理[2]。它只能借助于外科程序(宿主环境,例如:浏览器)来完成管理功能。外壳程序则可以通过标准的扩展接口接纳ActiveX控件的扩展应用。
3.2 技术方案
客户端通过“JavaScript+ActiveX+IC卡读卡器”的方式实现。基于B/S模式的“高中学生数据管理系统”,由于客户端需要利用IC卡的方式向服务端提交数据,所以客户端要安装IC卡读卡器及驱动程序 [3]。浏览器执行JavaScript脚本程序,JavaScript调用ActiveX控件,从IC卡读卡器读取IC卡上指定位置的数据,JavaScript将其提交浏览器,发送到服务端。
4 实现及测试
4.1 软件框架
软件框架由服务端和客户端两部分组成。服务端主要是高中学生数据管理系统,采用JAVA EE技术,开发模式为Sturts2+DAO,数据库采用MySQL,web服务器采用Tomcat6.0。具体可参见《软件导刊.教育技术》(2015年9月)中的“高中学生数据管理系统的研究与设计”。
客户端由IC卡读卡器、读写IC卡的ActiveX控件及浏览器组成。用户进入软件系统后,就可以通过脚本程序间接调用读卡器读取数据,可参见图1。