APP下载

基于SSH框架的在线旅游电子商务平台的设计与实现

2018-05-11无锡开放大学后勤与装备保障部无锡市214021

石河子科技 2018年1期
关键词:对象电子商务线路

(无锡开放大学后勤与装备保障部,无锡市,214021) 杜 俊

1 引言

随着社会经济的发展,旅游业已成为全球经济中发展势头最强劲与规模最大的产业之一,也是我国经济发展的支柱产业之一。旅游业作为一个独立的产业,能起到促进其他产业发展、优化国民经济结构的作用。网络时代的到来,Internet技术的出现,使人们借助互联网络广泛地从事商品与服务的电子化交易成为可能,这不仅大大扩展了交易范围,而且可以有效地缩短交易时间、降低交易成本。当前,传统企业纷纷应用Internet技术,以实现企业信息化和增强企业的市场竞争力。电子商务高速发展,越来越多的用户使用电子商务,它是现代社会发展以及网络趋势所向。在各行各业应用IT技术的同时,传统旅游业也插上了电子商务双翼,从本质上改变了旅游业的管理模式和行为模式。

2 国内外旅游电子商务平台现状分析

从全球范围来看旅游电子商务已经成为旅游业发展不可逆转的趋势。目前,在欧美等发达国家,正在大力发展低成本,高效益的旅游电子商务。旅游电子商务已经成为整个电子商务领域最为突出的部分。资料显示,全球旅游电子商务连续5年以350%以上的速度增长,一度占到全球电子商务总额的20%以上。美国美林公司的调查指出,2012年全美在线旅游销售收入占旅游市场总收入的39%。2005年这个比例是30%,2009年为25%,2003年为21%。2014年,美国在线旅行市场预计将达到910亿美元,旅游服务约50%的业务都将在网络上进行。相比之下,目前国内旅游电子商务同国外存在较大差距。未来10年间,我国旅游业将保持年均10.4%的增长速度。根据我国政府的产业规划,2020年,我国旅游业总收入将超过3.3万亿元,达到国内生产总值的8%。然而,我国旅游业目前还处于粗放型阶段,效益还比较低,与世界水平的差距还是很明显的,差距主要表现在资源整合、营销手段、企业竞争力等方面。我国目前的旅游电子商务收入,在整个旅游业收入中所占的比重还没有超过10%。据旅游行业权威人士透露,我国旅游业信息化水平至少落后于国际水平10~15年年。目前,我国的旅游电子商务平台主要存在以下几方面不足。

2.1 综合门户网站专业性不强

综合性网络公司中,大部分网站都不同程度地涉及了旅游的内容,如新浪网生活空间的旅游频道、搜狐和网易的旅游栏目、中华网的旅游网站,都显示出旅游信息的巨大生命力和市场空间。但它们仅仅作为其网站的一部分,没有能够充分体现旅游信息的全面性、权威性和实用性,只是对现有网站内容的扩充。

2.2 系统开发技术滞后,限制了旅游电子商务优势的发挥。

从开发技术上讲,目前大部分旅游电子商务网站均基于Windows平台,采用ASP技术。这样,系统运行性能、扩展性能和安全性都比较差,不能随着不断变化的客户需求而变化,限制了旅游电子商务优势的发挥。另外,采用的软件架构滞后,不利于团队合作开发,系统升级、维护艰难。

2.3 部分专业旅游网站内容单调,功能简单

在专业旅游网站中,国内互联网上旅游专业站点十分有限,而且绝大多数是简单的企业介绍,屈指可数的一些信息网站更多的是停留在专业门户阶段,条目太少,内容主要包括国内主要的旅游线路、景点介绍、往返程工具、价格和游记作品等最基础的信息,既没有分类又没有及时更新,甚至仅有条目没有内容,严重缺乏客户体验。还有部分专业旅游网站内容尚可,也有预订旅游线路等功能,但线路产品展台简陋,没有设置最新旅游线路、促销旅游线路、旅游经营排行等栏目,难以激起浏览者预订旅游线路的欲望。有的专业旅游网站前台,不能提供浏览旅游线路查询和订单查询功能,后台不能进行旅游线路管理、会员管理及订单管理等功能,因此在经营上难有大的起色。

3 基于Spring MVC的旅游电子商务平台设计

3.1 主要技术介绍

3.1.1 Spring简介

Spring是一个轻量的控制反转和面向切面的容器框架,下面描述Spring的有关特性。

第一,轻量。从大小与开销两方面而言,Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布,并且Spring所需的处理开销也是微不足道的。,此外,Spring是非侵入式的,Spring应用中的对象不依赖于Spring的特定类。

第二,面向切面。Spring包含对面向切面编程(AspectOrientedProgramming,AOP)的丰富支持,允许通过分离应用的业务逻辑与系统服务进行内聚性的开发。应用对象只做它们应该做的,完成业务逻辑,它们并不负责其它的系统关注点。

第三,控制反转。软件设计方法及设计模式的发展,共产生了3种类调用的方法:自己创建、工厂模式、外部注入。其中,外部注入即为控制反转/依赖注入的模式。所谓控制反转,就是由容器来控制业务对象之间的依赖关系,而非传统方式中由代码来直接操控。

3.1.2 MVC结构

系统主体结构采用MVC架构,MVC指的是模型(Model)、视图(View)和控制器(Controller)。使用MVC的目的是将模型和视图的实现代码分离,从而使同一个程序可以使用不同的表现形式。在本系统中,为了今后能够开发出Web Service等其他新的表现形式,最便捷的方式就是能够重用原有的业务逻辑和数据访问代码。如果系统使用了MVC的架构,服务层和数据表现层是相互分离的,那么,就可以方便地在Web Service中调用原来的服务层代码,大大减少重复开发的工作。

3.1.3 SSH框架

SSH是Struts、Spring、Hibernate三种技术的有机融合,是目前应用最广泛的J2EE架构。Struts是目前较为流行的基于MVC的框架,它主要充当控制器的角色,负责接收用户的输入,调用服务层的方法后,将得到的结果返回给数据表现层。Hibernate充当模型的角色,它使用XML文件将数据库的字段和实体类字段之间的关系对应起来,将关系型数据库的数据在程序中直接变为程序中的对象。

3.2 旅游电子商务平台功能模块设计

经前期调研,确定电子商务系统功能主要包括前台和后台两部分。系统前台部分主要包括:旅游线路产品展台(最新旅游线路、促销旅游线路、黄金旅游排行榜)、旅游产品查询、旅游产品订购(选购旅游线路、收银台)、用户登录(会员注册、会员登录、会员资料修改)、旅游公告及订单查询。(详见图1)

系统后台部分主要对系统内的一些数据进行有效管理,包括旅游线路信息管理,会员管理、订单管理及公告管理。(详见图2)

图1 旅游电子商务平台前台功能结构图

图2 旅游电子商务平台后台功能结构图

3.3 旅游电子商务平台架构设计

本系统主要是以SSH框架为基础技术实现的。在MVC框架中,所有的请求都由DispatchServlet前台控制器负责转发到业务控制器中。Controller负责控制流程,由DispatchServlet负责读取applicationContext.xml,并使用HandlerMapping来查找对应的Controller组件;Model由系统状态Form Bean和商业逻辑的javaBean来构建:View是由JSP和Spring提供的自定义标签实现的。因此,在Spring系统的开发中,开发者需要开发的类只有Controller类和Form Bean。在Spring-Hibernate的框架中,还要加上与数据库交互的持久类。设计包括Hibernate层设计、Controller类设计、Form Bean类设计及View层设计。下面Hibernate层和Controller类设计为例,阐述系统架构设计。

3.3.1 Hibernate层设计

使用HibernateSynchronizer能够自动生成Hibernate配置文件、映射文件、持久化类和数据访问类。使用HibernateSynchronizer可以大大缩短Hibernate开发的时间,Hibernate层设计是笔者的一个工作重点。

目前,有很多工具可以实现Hibernate应用的自动化,HibernateSynchronizer是比较优秀的Hibernate自动化工具,能够提高开发的效率。Hibernate Synchronizer是Eclipse的一个插件,Hibernate Synchronizer提供了图形化的实体关系视图,通过这个视图可以简单地从一个数据库连接中生成Hibernate对象-关系映射文件,也能够生成Hibernate配置文件,还可以自动生成持久化类以及通用的DAO类。而且,对映射文件的任何改变,都可以使自动生成的持久化类和DAO类随之改变。

第一,通过Hibernate提供的插件Hibernate Synchronizer导出数据表,实现O/RMapping(对象关系映射)。通过Hibernate提供的插件导出数据表,自动生成后缀为hbm.xml的映射文件即可,然后把生成的文件hbm.xml文件注册到Spring-Hibernate的配置文件hibernate_context.xml中。

第二,创建数据对象模型。完成对象关系映射后,需要创建数据对象,用于承载数据,以方便DAO层和业务层进行数据传递。可利用插件自动生成数据对象模型。

持久层的作用主要是对数据库的数据进行增、删、改、查、有了这一层接口后,如果不采用Hibernate的话,可以添换DAO层的Hibernate实现。DAO层使用一个类文件Dao,在一个类里定义所有方法,这样便于集中维护。

3.3.2 Controller类设计

在本系统中Controller类是Action类文件,负责控制流程,处理业务逻辑,需要继承SimpleFormController、 AbstractCommandController、MultiActionController等基类。通过依赖注入(DI),实现控制反转(IoC)以及面向切面编程(AOP)的思路设计,是笔者工作的又一重点。

IoC的优点:把对象生成放到XML之中定义,当需要换一个实现子类时将变得非常简单,只要修改XML即可。

IoC的缺点:第一,生成一个对象的步骤变复杂,需要开发者有一个从传统编程方式到IoC方式的适应过程。第二,由于对象的生成使用了Java反射机制,在运行速度上有些损失。

从以上对IoC优缺点的分析可以看出,业务逻辑层使用Spring框架控制反转(IoC)的模式,组件间的关系从程序内部提到外部容器来管理,使得业务逻辑组件在运行期被注入到Spring容器中,降低了对象间的耦合度,提高系统的可维护性。

该旅游电子商务平台采用Spring的依赖注入机制,减少了组件之间的依赖,提高了系统的可移植性,有利于平台后期的维护和扩展。依赖注入主要通过setter方法注入(setterInjection,也称为设值注入)和构造方法注入(ContrutorInjection)两种方式实现。基于setter的依赖注入,主要借助属性的setter方法将低层实例传递给高层;基于构造函数的依赖注入,主要是借助构造方法将底层实例传递给高层。因该系统数据表中的字段较多,采用设值注入(即get/set方法)较为简单,而且比较符合程序员的编程习惯,所以,该系统采用通过设值注入方法实现依赖注入。

4 结束语

旅游电子商务平台是基于专业旅游电子商务全新概念的旅游管理系统,平台结合本地旅游特色,界面美观、操作方便,用户可以通过该平台获得丰富的旅游信息和服务,游客通过多种方式进行互动。系统基于SSH框架模式开发,保证了系统访问和后台维护的实用性,又实现了旅游电子商务管理的专业级服务,满足了旅游人员对旅游电子商务平台的旅游线路信息浏览和线路预订的丰富性和实时性的需求,以及旅游管理者对系统维护的便利性需求,该电子商务平台今后还将开发手机版和英文版。

[1]孙志杰,卢雷.基于数据库中间件技术的Web应用数据访问的实现[J].计算机系统应用,2008(1):87-89.

[2]王鲁彬,翟景春,崔旭涛.基于层次分析法的网络安全系统脆性分析[J].现代计算机,2008(6):50-53.

[3]肖燕娟.Java对象持久层的检索性能优化研究[J].现代计算机,2008(6):164-167.

[4]贾国芳.通用数据访问组件的设计与实现[J].现代计算机,2008(6):191-194.

[5]孙卫琴.精通HIBERNATE:Java对象持久化技术详解[M].北京:电子工业出版社2005:128-158.

[6]沈兰,曹春益.旅游电子商务网站策划及推广方案分析[J].科技信息,2012(09):25

猜你喜欢

对象电子商务线路
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
输电线路工程造价控制
《电子商务法》如何助力直销
10kV线路保护定值修改后存在安全隐患
攻略对象的心思好难猜
电子商务
电力拖动控制线路在安装中的应用
基于熵的快速扫描法的FNEA初始对象的生成方法
关于加快制定电子商务法的议案
跨境电子商务中的跨文化思考