欢迎您访问郑州兴邦电子股份有限公司官方网站!
阿里巴巴诚信通企业
全国咨询热线:40000-63966
兴邦电子,中国水控机第一品牌

联系兴邦电子

全国咨询热线:40000-63966

售后:0371-55132951/55132952

工厂:河南省 郑州市 高新区莲花街电子电器产业园

基于J2EE的校园一卡通系统平台的设计与实现

文章出处:http://www.singbon.com 作者: 人气: 发表时间:2011年09月08日

[文章内容简介]:基于J2EE标准的四层体系结构以其良好的灵活性和可扩展性、可共享性、可复用性、安全性等优点,成为建立校园一卡通系统平台的最佳选择。通过一个应用实例,阐述了开发一个基于J2EE的应用系统的方法。

  J2EE是SUN公司为开发企业级应用程序提供的强大的平台,是用来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。在这个体系结构中,应用开发者的注意力集中在封装商业逻辑和商业规则上,而一切与基础结构服务相关的问题及底层分配问题都由应用程序容器或服务器来处理。作为J2EE一部分的企业Java组件(Enterprise Java Bean,EJB)是一种服务器端组件体系结构,它简化了用Java开发企业级的分布式组件应用程序的过程。EJB被设计为支持应用程序可移植性和可重用性,这些特性适用于任何厂商的企业中间件服务。
  
  Weblogic是J2EE的纯Java实现,长期以来被认为是市场最好的J2EE工具之一。Weblogic的高性能、可靠性、跨平台能力、多功能性、对J2EE标准的支持以及Jbuilder对Weblogic良好的支持,使得Weblogic与Jbuilder的组合成为J2EE应用开发的最佳选择。
  
  校园一卡通的主要应用包括2大方面:①校园消费:食堂消费、机房上机、超市消费等;②身份认证:门禁、考勤系统、学籍管理、医疗、图书馆等。在学校的管理中,如果能开发一个系统使得教师和学生能够仅仅凭一张CPU卡就能完成以上日常事务,这将大大方便师生员工以及管理者的管理。
  
  1 一卡通系统的开发
  
  一卡通系统采用EJB有以下好处:EJB服务器提供了诸如事务和安全之类中间件服务,应用开发人员只需关注于业务逻辑的实现而不是底层的实现机制;可扩展性:EJB可以根据您应用的增长而扩展,EJB服务器往往还提供了负载均衡并考虑到记录数据的突发性、时间集中性以及对系统要求的稳定性和安全性,利用CMB(容器管理Bean)来完成这项重要的任务是一个较好的选择。
 
  1.1 EJB的基本思想
  
  EJB的实现是基于RMI—IIOP,其基本思想参看图1,具体如下:①客户端调用本地stub;②stub将参数整理成适合网络传输形式;③stub通过网络与Skeleton连接;④Skeleton将参数整理成适合Java的形式;⑤Skeleton调用EJB对象;⑥EJB对象完成所需的中间件服务;⑦企业Bean完成工作后以上步骤将在返回Home途中重复执行。

EJB基本思想

图1 EJB基本思想

  1.2 EJB的应用

  EJB 2.0规范里,Bean分为3类,分别是EntityBean(实体Bean)、Session Bean(会话Bean)和Mes—sageDrive Bean(消息驱动Bean)。

  根据EJB实例是否保存客户端的状态,会话Bean还可分为有状态会话Bean和无状态会话Bean。实体Bean可分为BMP(Bean管理持久Bean)和CMP(容器管理持久Bean),两者的区别在于数据存储的实现方式。前者由Bean开发人员指定,后者则由容器自动实现。

  在本系统中,EJB模块由1个会话Bean和2个实体Bean组成,分别为无状态会话bean:Record—Ses,2个容器管理Bean:Schedule和CheckRecord。采用这样的设计模式有以下好处:使用1个会话Bean作为前端可以隐藏实体Bean提供的功能,客户端不知道您在使用实体Bean,以后可以更换为其他技术,对客户端影响最小;与使用实体Bean相比,使用会话Bean的成本较小。本文以考勤终端子系统为例,阐述基于J2EE应用系统的方法。考勤终端子系统部署图见图2。

考勤终端子系统部署图

图2 考勤终端子系统部署图

  1.3 数据库设计

  定义考勤项目时,同一时间段,如有同一个人在不同地点需要考勤的情况,则在考勤记录表(见表1)中设置其考勤状态为冲突(StatusID=4);考勤项目表(见表2)要定义一些时间字段以确定师生在不同时间打卡时的状态(迟到、早退等);师生每一次打卡仅仅在其需要考勤的时间段才有效,否则不予记录。

  表1 考勤记录表

  表2 考勤项目定义表

  1.4 EJB开发

  1.4.1 开发的准备工作 按照Borland的白皮书[ 《E]B Development Using Borland JBuilder 8and Oracle9i Application Server)进行Jbuilder和Weblogic的配置。新建项目指定应用服务器为Weblogic 7.0添加EJB模块。引入数据库模式,其中数据源名设为RecordDataSource,分别为考勤记录表和考勤项目定义表。创建容器管理实体Bean,分别为Check—Record和Schedule,再添加一个无状态会话Bean:RecordSes。在Weblogic创建数据源条目,包括一个数据连接池和一个事务数据源。数据源名为RecordData—Source。

  1.4.2 实体Bean的关系对于每个教师的每一个考勤项目,需要2次打卡,另外还有教师多次打卡的情况,因此,考勤项目定义表与考勤记录表是1对多的关系,相应的,这样的关系也映射到了两个实体Bean上。右键点击Schedule,创建一个关系,只需将鼠标移动到CheckRecord上就可以建立好。点击新建的关系,然后编辑数据库关系,将一个表中的SchedulelD和Staff1D拖到另一表中就定义好了数据库的关系。

  1.4.3 处理自动增长字段ScheduleRecord的主键是自动增加的,必须要在部署描述里注明,以使得容器正确处理数据得持久化。这可以在开发工具Jbuilder里可视化地实现。在项目控制面板Projectpane双击ScheduleRecord,然后点击Weblogic 7.XGeneral标签,找到Automatic key generation,输入以下信息:Generator type:SQL广SERVER,Generatorname:SchedulelD,Key cache size:1。

  1.4.4 主要方法 客户端需要调用会话Bean的addRecord方法来实现添加记录的功能。会话Bean里的addRecord方法要做以下工作:查找合适的考勤项目,创建考勤记录,根据打卡时间设定持卡人的状态。因此,实体Bean Schedule需要一个查找合适的考勤项目的定位器方法和一个创建(Create)方法。在Jbuilder里添加方法,然后在查询(Query)窗口写上Ejb_Ql语言即可。

  1.5 客户端

  JBuilder根据所编写的Bean提供一个向导,帮助客户端来测试编写好的Bean。作为一个包装类,只需要将这个客户端测试类进行一些符合自己要求的改动就可以直接使用。一般需要以下步骤:实例化这个类,调用类的Create方法,调用类的方法,这个方法实现的是在会话Bean里编写的方法,它们具有相同的名称。

  2 一卡通平台和其他平台的集成

  2.1 基于J2EE的系统平台的体系架构

  校园一卡通系统平台体系架构见图3。

校园一卡通系统平台的体系架构

图3 校园一卡通系统平台的体系架构

  系统平台采用J2EE标准,基于J2EE标准开发的应用可以跨平台移植,并提供了企业计算中需要的各种服务;J2EE中多数标准定义了接口,例如JNDI,JDBC等,因此可以和许多厂商的产品配合,容易得到广泛支持;J2EE树立了一个广泛而通用的标准,大大简化了应用开发和部署过程。操作系统可以使用基于MS Windows或者UNIX、LUNIX等操作系统。

  在系统平台层之上是系统的数据层,数据库可以使用XML。XML具有良好的可扩展性,语言简单有效,可自行定义标记;内容与形式的分离,主要刻画数据内容,不考虑显示效果;有严格的语法要求,便于分析统一和与数据库信息转换,便于传输,为纯文本形式,可通过Http协议直接传输,可跨越防火墙等。系统还可以采用MS SQL Server、DB2、MySql等其他数据库。

  在系统平台层和数据层的支持下,系统通过服务层对整个平台提供服务,提供应用的支持和标准化的应用接口。用户认证中心就建立在服务层,给每一个用户一个建立用户标识,并负责对每一个登录客户进行系统认证。

  在服务层之上系统构架了应用层。应用层包括校园内的其他各种综合应用系统,如指挥自动化网、政治工作宣传网、财务网等。由于系统提供标准化接口,因此,单位内部已有的应用系统和以后开发的应用只要使用标准化接口,就可以方便、无缝地构架在系统平台应用中。

  整个多层次结构组成了的系统的整体,通过多层次的结构应用,系统的扩展性和灵活性都得以保证,并且具有更广阔的适用性。

  2.2 系统间互操作的要领

  在数字化校园中,数据层面所需的信息集中存储,并给各应用子系统共享,有效防止了信息的冗余和不一致,保证数据的准确性和可靠性;可以方便地实现核心数据的集中管理与备份,提高系统的安全性,减少设备的投资和管理的人力成本。数据中心在数据级对“一卡通”和其他系统的数据进行无缝集成,便于信息的共享、交流和各项业务的协作。

  一卡通系统应该充分使用统一共享数据平台提供的公共数据编码、身份信息等数据,而不应该单独维护一套独立、非标准的信息。同时,一卡通系统拥有自己的业务数据库,将其他应用系统需要的信息纳入共享数据库的统一设计中,实现校园一卡通系统数据对整个数字化校园的共享。通过数字化校园应用建设,形成一套符合高校自身实际的管理信息化标准,也是数字化校园建设中的一项重要内容。笔者结合大量案例,根据学校信息化现状提出信息代码编码标准、软硬件平台标准、应用系统规范、业务流程规范和数据交换标准等,为今后的应用系统的建设制定了规范。一卡通作为重要的应用系统必须符合整体标准。

  为了集成,一卡通使用的公共信息字典必须遵循学校的信息编码规范,数据模式必须遵循数据库第三范式,一卡通使用的用户及其信息必须与业务系统提供的信息一致,可以相互关联,以保证一卡通的数据和学校的其他信息数据同时进行查询、分析、统计。针对于卡的门户应用,共享数据中心的数据既要能展示相关的信息,如校园卡选课后学生的选课课程、选课的缴费等,又能统计相关的信息,如不同专业的学生费用使用总计及平均消费情况等,这些都需要充分的集成设计。

  3 结语

  一卡通系统是以非接触卡为信息载体,适用于各式各样消费和管理的多功能网络系统,目前已实现就餐收费管理、图书借阅管理、医疗收费管理、上机计时收费管理、校内消费管理、早操出勤管理等,本文简要说明了利用JBuilder和Weblogie快速开发基于J2EE的应用。由于采用了容器管理的持久性(Container-Managed Persistent,CMP),由容器负责将entity beans的更新同步(保存)到数据库,即由容器负责entity beans的持久性管理,开发人员只需考虑业务逻辑,大大减轻了开发人员的负担,而且还提供了良好的事务与安全保障;JBuilder是个功能强大的工具,熟练掌握这个开发工具,可以大大提高J2EE应用的开发效率。(文/杨志和 上海电机学院电子信息学院)

  参考文献:
  [1] Girdley M.J2EE应用与BEA Weblogic Server EM].邢国庆,译.北京:电子工业出版社,2003.
  [2] 杨芙清,梅宏,李克勤.软件复用与软件构件技术EJ].电子学报,1999,27(2):68—75.
  [3] 赵芳,韦群.基于构件的软件工程研究I-J].装备指挥技术学院学报,2002,13(4):56-58、
  [4]刘海岩,梁建龙.基于中间件的分布式系统开发过程的研究[J].计算机应用研究,2004(1):85—87.
  [5]杨志和,李业荣.基于Web Services的企业电子商务应用集成技术的研究[J].广西科学院学报,2006,22(3):161— 163.
  [6]杨志和.RFID系统与第三方应用的信息集成技术[J].华东理工大学学报:自然科学版,2007,33(增刊):141— 144.
  [7]杨志和.基于Web Services的教育资源共享平台的设计与研究EJ].上海电机学院学报,2007,10(1):49—52.
  [8]杨志和,李业荣.基于中间件和RFID技术的第三方物流MIS的应用研究I-J].计算机应用研究,2006(增刊):592—593.

本文关键词:J2EE,校园一卡通,一卡通系统,考勤,一卡通平台
回到顶部