旅游电子商务网站的构建[摘要] 本文介绍了基于WEB的旅游电子商务网站的设计思想和和采用的主要技术,对系统实现的基本模块如用户管理、产品管理、购物管理和订单管理模块进行了较为深入的探讨,同时还分析了用ASP技术与ADO结合起来访问Web数据库的具体实现方法。 [关键词] 旅游电子商务网站数据库ADO 随着新型的商业运营模式电子商务的日趋成熟,旅游电子商务网站发展迅速, 从数量上看已经初具规模。纵观中国旅游电子商务近年的发展,旅游电子商务正在从简单的网上信息浏览、搜索、推播的信息服务方式朝实时在线的交易、支付的服务方式发展。为了更好地进行网上交易,我们有必要对整个网站进行认真的设计。 一、旅游电子商务网站的系统设计 在系统具体实现之前需要进行规划,首先需要确定一个旅游电子商务网站系统的基本功能结构,并考虑数据库系统设计方案。 1.系统功能结构 通常,在旅游电子商务网站上,游客可以浏览并查询旅游产品,了解旅游旅游产品的详细情况,如旅游线路、景点、餐饮、住宿、价格等。如果满意的话,注册后凭用户名、密码登录,填写订单并支付,即可订购好该旅游产品。基于以上购物流程考虑,一个典型的B2C架构的旅游电子商务网站,可划分为四个基本的功能模块,如用户管理、产品管理、购物管理和订单管理等。各个模块相互独立,可以独立完成自己的功能。各模块间又紧密联系,不可或缺,如订单管理都需要记录产品信息和用户信息,离不开用户管理、产品管理这些模块。系统的基本功能结构如下图。 网站功能结构图 2.数据库的设计 在网站系统的设计过程中,数据库设计是非常重要的,数据库是网站的核心,也是联系各个功能模块的纽带。如果设计不当,网站的性能也会受到影响。 按照系统的功能,可以确定旅游电子商务系统中的实体有:会员、产品、订单。同类实体构成的实体集设计为相应的表。因此,数据库中至少需建立以下三种类型表: (1)会员信息表member:主要存放会员的个人信息,会员编号、姓名、出生年月、联系电话、email 、级别等。 (2)旅游产品信息表info:主要存放旅游线路、酒店和航班的详细信息,可以将这三类信息分别存放在三个表中,即表travelinfo、hotelinfo、airlineinfo。旅游线路信息表travelinfo包括线路编号、线路名称、出发地、目的地、游览天数、价格、组团人数、行程安排、供应标准、开班日期等。酒店信息表hotelinfo包括酒店的编号、名称、所在城市、地址、星级、房型、价格、酒店简介等。航班信息表airlineinfo包括航班的编号、航班号、出发城市、到达城市、所属航班公司、机型、开班日期、起飞时间、到达时间、起飞机场、降落机场等。 (3)订单信息表orders:主要存放客户的订单信息,包括订单编号、会员编号、付款方式、付款状态、订单处理状态、收到订单日期、旅游产品编号、数量、单价等字段。通过会员编号可以与会员信息表联系起来,通过旅游产品编号可以与旅游产品信息表联系起来。 二、旅游电子商务网站的实现 按照系统的功能,旅游电子商务网站可划分为用户管理、产品管理、购物管理和订单管理等四个基本的功能模块,贯穿了当前旅游电子商务网站的一般处理过程。 1.会员管理 会员管理主要包括用户注册、登录,信息修改三个方面的功能。 用户注册是站点获取用户信息的一个基本渠道,既方便于对用户的管理,又通过这些信息可以为用户提供更好的服务。一个站点上不能有两个一模一样的用户,所以需要有一个关键信息如用户名来惟一区分不同的用户,因此在用户注册提交后就需要先检查网站数据库中是否已经存在这个用户,如果存在则返回重新输入,否则信息经系统验证无误后,连接数据库,利用insert语句添加到数据库中。数据的提交是以表单的方式,采用POST方法传递数据。当表单提交按钮触发后,会对表单里的对象逐个验证是否合乎规范,如果不合逻辑将会返回重新输入,验证代码可以定义为一个过程。 用户登录只需要通过数据库验证用户是否为正确的用户,即输入的用户名和密码是否正确。 修改个人信息一般都要在用户成功登录以后才能进行,首先通过查询数据库,以表单的形式将该用户的信息显示出来,然后允许用户进行修改,修改的数据提交后,连接数据库,利用update语句对数据库中的数据进行更新。 2.旅游产品管理 旅游产品管理主要是通过建立良好的旅游产品分类和搜索方式,向游客展示各种旅游产品信息,让游客能方便地以各种方式快速地浏览产品,进行选购,减少客户不必要的时间浪费。 可以从价格分类显示、热点产品显示、推荐精品显示、新产品显示和查询显示等多方面向游客展示关于旅游线路、酒店、航班等信息。从数据库技术的角度,几乎所有形式的产品显示都是按一定的条件对数据库进行查询,并将查询的结果显示出来。其中查询显示是较为复杂的产品显示方式,允许输入多个条件进行查询,然后把符合条件的旅游产品显示出来。通常采用模糊查询like可以将符合查询条件的所有产品显示出来。 3.购物管理 购物管理模块实际上是一个从旅游产品显示到订单生成之间的购物流程的设计。购物流程可以包括很多步骤,这些步骤不是必须的,它们的存在只有一个目的,就是确保正确地生成一个完整无缺的订单。在游客预订旅游产品,尤其是在结算之前,需要进行登录,登录是为了获取和记录游客的相关信息。游客在预定旅游产品时,系统将自动调用订单生成模块以产生实际的订单,订单的信息将添加到数据库中订单信息表orders表里,所产生的订单应包括这样一些信息:订单编号、会员编号、付款方式、付款状态、订单处理状态、收到订单日期、旅游产品编号、数量、单价、联系电话等。因此,实现该模块时,订单信息的获取是非常重要的,关于用户的内容可以从会员登录时保存到session对象中的数据得到会员编号,关于旅游产品的内容可以从游客选择产品时点击“预订”时获取产品编号,关于付款的内容需要用户临时输入,设计一个表单即可获取数据。获取了必要的数据后,系统就可以根据这些数据产生订单并将该订单数据保存到订单数据表中了。 4.订单管理 游客可以订购多个旅游产品,生成多个订单,并对自己的订单进行管理,游客可以查询所有订单,随时了解所选购的产品名称、价格,以及订单是否已付款,订单是否已被处理等相关信息。游客也可以删除部分订单,如对于未付款、未处理的订单游客可以取消,但对于已付款的订单游客无法直接从网上删除,必须和工作人员联系。 一个订单的生成到一次交易的结束期间,订单至少要经历三个状态:未处理,正在处理,处理完成。这些状态的变化都应反映在订单之中。因此在设计订单表时,除了具备购买者、所购产品、订单号等基本字段外,还需要添加一个订单状态字段,用来保存当前订单的状态。 三、应用ADO访问数据库 系统采用ADO (Active Data Objects) 组件作为数据库解决方案。ADO是ASP的一个重要的内置ActiveX组件,可以在服务器中提供对数据库操作的强大功能。在ASP页面中可以调用ADO对象实现对数据库的操作,它通过ODBC或者相应的数据库引擎,通过ADO与ASP的结合,可建立提供数据库信息的网页,允许访问者在浏览器页面上查询、插入、更新和删除站点服务器的数据库信息。其工作过程:当用户端的浏览器填写好表单按下确定按钮后,经过互联网或内联网传送HTTP请求到WEB服务器,WEB服务器执行该请求所指定的ASP文档,利用ADO对象,调用ODBC驱动程序,连接数据库,执行ASP文档所指定的SQL指令,最后将执行结果以HTML格式传送给用户浏览器。 ADO组件定义了三个最基本也最核心的对象,Connection对象、Command对象和Recordset对象。Connection连接对象主要用来建立并管理与数据库的连接;Command命令对象通过已建立的连接对数据库可提供灵活的查询;Recordset记录集对象主要用于表示访问数据库查询所返回的结果,通过它可实现对数据库中的数据的增、删、改等操作。通过这三个对象用户可以很方便地建立数据库连接,执行SQL查询以及完成数据库访问等操作。 用ASP和ADO访问数据库可按以下步骤实现: (1)创建一个Connection对象实例,Set conn=Server.Create.O b ject("ADODB.Connect ion"),用Open方法打开待访问的数据库,Conn.open“数据库名”。 (2)设定对数据库的操作命令,即指定要对数据库要执行的SQL命令 (3)利用Connection对象Execute()方法返回的结果集自动创建一个Recordset对象,Set RS = Conn. Execute(“SQL ”语句),利用Recordsets对象所提供的属性和方法显示查询结果。 (4)关闭结果集对象RS.close,断开与数据库的连接Conn. Close。 四、结束语 利用ASP与SQL Server开发与架设电子商务网站的技术已经非常成熟,它是中小型旅游企业架构网站,实现信息数据动态发布的较好选择。本文根据一般旅游电子商务网站的运行情况,在基于WEB的三层Browser/Server结构基础上,采用支持ASP的IIS5.0作为中间层的WEB服务器,用ADO组件访问SQL数据库,实现了基于Internet的动态旅游电子商务网站系统的构建,同时采用模块开发增加了系统的可维护性和可扩展性,为一般旅游电子商务网站系统提供一种可行性方案。