一种基于J2EE的火车订票系统的设计 下载本文

内容发布更新时间 : 2024/5/19 17:54:02星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

一种基于J2EE的火车订票系统的设计

作者:段昌敏

来源:《电脑知识与技术·学术交流》2008年第05期

摘要:火车网上订票系统是通过网络查询信息,进行火车票的预订、购买、支付的电子商务系统。订票在购票交易过程中扮演着十分重要的角色。系统深入探讨了J2EE应用系统开发过程及其相关技术,提出了订票系统解决方案,在此基础上重点解决了系统体系结构、订票篮设计及系统安全三个关键问题。

关键词:电子商务;J2EE;B/S模式;订票篮

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)05-10ppp-0c 1 引言

近年来,随着Internet技术的快速发展,电子商务的应用越来越广泛,它运用电子通信作为手段进行经济活动,人们可以对带有经济价值的产品和服务进行宣传、购买和结算。电子商务是一种新兴的商务方式,它能提供准确、快速、高效的商务运作,是当今商务运作发展的主流方向。

随着国民经济快速发展,人们出行、交通越来越频繁,对服务的快捷、便利性要求也越来越高。从而对客运行业的建设与管理提出了更高的要求。为适应和推动客运行业的发展,各种交通公司和部门开始广泛采用计算机管理系统,促进了票务事业的发展。经过几年的建设和完善,取得了许多宝贵的成功经验。采用计算机售票一方面大大减轻了订票、售票、检票、调度、票款管理等部门工作人员的劳动强度,提高了各部门的工作效率。

2 J2EE相关技术

J2EE是Sun公司推出的一个基于Java组件技术的企业应用系统开发规范,它为不同厂商创建平台产品提供了标准,使不同J2EE平台产品之间的交互成为可能。J2EE规范[1]定义了一个基于组件技术的多层企业信息系统的标准平台,旨在简化和规范企业应用系统的开发和部署。J2EE不仅能够方便存取数据库的JDBC API, CORBA技术以及能够在Internet应用中保护

龙源期刊网 http://www.qikan.com.cn

数据的安全模式等等,同时还能提供了对EJB(Enterprise JavaBean)、Java Servlets API, JSP(Java Server Page) [2,3]以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

由J2EE技术组成的三层或多层的架构体系[4],已经成为开发信息系统首选。 典型的J2EE系统至少划分三个层次[5]:表现层,业务逻辑组件层,持久层。

表现层(Presentation Layer)是实现显示功能的。它是用户界面或者远程调用门面。主要由页面技术JSP, SERVLET和MVC框架技术来完成。

业务逻辑层是成功架构的关键[6],这一层的主要功能是提供业务逻辑给表现层使用,它包括许多接口。一个好的业务层具备一下特点:功能完备,使用简单,有很好的OO的实施,面向对象,独立于表现层,易测试,易管理,对事务管理进行处理等。业务层主要是EJB, POJO等技术来实现的[7]。

持久层(Persistence Layer)是负责对象持久化也就是数据库操作的层次。其三层结构和各层之间的关系,如图1。

图1 三层体系结构

3 系统分析

龙源期刊网 http://www.qikan.com.cn

火车票网上售票系统最终实现的是旅客购得一张自己满意的票券,票券的信息包括承运公司、出发/到达时间、票额、出发地/目的地等。因此,在实现网上交易的过程中要涉及到网站、票点(票券的打印和处理)等子系统,订票系统是售票系统的子系统。

3.1 售票系统采用B/S (Browse/Server)模式, 而J2EE体系为构建三层应用程序提供了坚实的平台,它将应用服务器层细分为三层,即表示层、业务层和持久层,采用此方案可设计出更适合业务网络开发的应用系统。

系统共有三种用户,根据用户权限的不同而实现不同的功能。其中超级管理员的权限最大,它可以添加、删除票点管理员,可以添加、修改、删除火车区间,可以添加、修改、删除某班次火车区间的车票种类。票点管理员可以修改自己的个人信息和票点信息(如票点电话,传真等),用户取票即在票点完成。普通用户的权限最低,它只能完成车次的查询、订票和自己所订票券的查询。以及查询哪一车次哪天还剩余多少张票,当然也可以修改个人信息及密码。

3.2 根据订票系统的特点,系统采用了典型WEB三层架构。

表示层由Servlet filter过滤器和Struts框架组成,主要实现系统与客户交互作用。过滤器提供了系统中的一些共性处理比如字节编码,权限管理等。Struts是典型的MVC应用框架,它简化了系统的表示层开发,便于重用,提供了效率。

业务层由业务Bean和iBATIS容器框架组成,主要是完成系统业务功能。具体实现功能的都是DAO。采用面向接口技术,一个接口对应的一个实现类。由iBATIS框架管理这些DAO,它提供给这些DAO一些企业服务比如事务管理服务。表示层与业务层之间的集成是借助业务层的iBATIS框架的Bean工厂和应用上下文容器。在表示层中的Struts的组件Action中,通过调用Bean工厂和提供相应的iBATIS容器中的Bean Id来的得到业务Bean。 持久层由ORM中间件Sql Map来实现数据的增加、删除、修改、查询等功能。它简化了数据库的操作,起到了业务层与数据库之间的集成连接。这样系统可以随便的更换数据库,对上层的应用不会有影响,系统的开发效率有很大的提高。持久层与业务层之间的集成是通过DAO模式来实现,这样DAO提供操作接口给业务层来操作数据库,而DAO的实现封装了数据库操作,其实现是通过调用iBATIS框架去操作数据库。

域对象模型层是所有的域对象组成,主要功能是穿插于持久层,业务层和表示层之间的业务对象的值传递。

通过上面的划分,应用框架把表示层,业务层,持久层,域对象层的应用逻辑关系调用和内外接口进行了封装和开发实现。如图2。