WEB旅游信息系统.docx
《WEB旅游信息系统.docx》由会员分享,可在线阅读,更多相关《WEB旅游信息系统.docx(50页珍藏版)》请在冰豆网上搜索。
WEB旅游信息系统
宜昌三峡WEB旅游信息系统
学生:
吴莉,地球科学学院
指导教师:
许晓宏,地球科学学院
[摘要]本系统遵循软件工程的基本原理,开展了基于GISWebServices的旅游信息系统设计,并结合中企动力数字商务平台2.3和北京灵图公司的MOSP,设计开发了宜昌三峡旅游信息系统。
本系统采用了B/S的模式,降低了应用推广成本。
本系统基于GISWebServices开发,降低了系统的开发成本,为同类系统的开发提供了一种新的开发模式。
[关键字]数字旅游,数字商务平台,MOSP,WebServices技术,浏览器/服务器(B/S)
YichangThreeGorgesWebtourisminformationsystem
Student:
WuLi,CollegeofGeoscience
Teacher:
XuXiaohong,CollegeofGeoscience
[Abstract]Inaccordancewiththebasictheoryofsoftwareproject,thissystemmadethedesignoftouristinformationsystemsbasedonGISWebServicestechnology,anddesignedanddevelopedthetouristinformationsystemsofYichangThreeGorges,combingwithE-commerceplatformcarriedoutbyZhongQiCO.,Ltd.andMOSPcarriedoutbyBeijingLingtuSoftwareCo.,Ltd.B/Smodelofthesystemusedtoreducethesystemapplicationandpromotionlcosts.GISWebServicestechnologyofthesystemusedtoreducesystemdevelopmentcostsandtoprovideonekindofnewdevelopmentmodelforthedesignanddevelopmentofthesimilarsystem..
[keyword]DigitalTourism,E-commerceplatform,MOSP,WebServicestechnology,Client/Server(B/S).
前言
信息技术的飞速发展给传统的旅游业带来了极大的冲击。
传统旅游中,信息的滞后与贫乏,已经越来越不能满足旅游消费者的要求,旅游业信息化的呼声越来越高。
旅游业的信息化,就是采用现代计算机技术、通讯技术和其它有关高新技术手段及现代传播媒介,对旅游资源、旅游信息资源、旅游生产要素资源进行深层次的管理、分配、组合、加工、传播、销售、以促进传统旅游业向现代旅游业的转化,加快旅游业的发展速度,提高旅游业的生产效率[1]。
宜昌旅游资源丰富,然而宜昌旅游业信息化基础建设比较落后。
如何合理开发丰富的旅游资源,管理众多的旅游信息,强化旅游服务质量和意识,吸引海内外广大游客,更好地为旅客提供满意的服务显得尤为迫切。
因此开发一套宜昌三峡地区网上旅游信息系统,是广大宜昌群众,和国内外旅游者所期待的。
在互联网技术快速发展的今天,随着WEB2.0时代的到来,Ajax、Api和WebServices等技术逐渐成熟,使得开发一个拥有WebGIS功能的旅游信息系统不再需要重复耗费巨大的财力和物力,现在在有效整合现有web服务的基础上,就能够在较短的时间内开发出功能完善的、适合于不同地区的旅游信息系统了。
然而,在继Google和Yahoo开放免费的MapAPI之后,灵图公司也在我国首家免费开放自己的地图API接口。
将专业应用与平民体验的距离大大地缩短,这使得所有的人都能够通过API进行二次开发,在MOSP平台上实现多样化和个性化的应用。
本系统便是在MOSP提供的GISWebServices上构建的。
宜昌三峡Web旅游信息系统
1选题背景
信息技术的飞速发展给传统的旅游业带来了极大的冲击。
传统旅游中那种赶时间、赶行程的“半军事化”旅游团,以及信息的滞后与贫乏,已经越来越不能满足旅游消费者日益强烈的对舒适、自主、自由等方面的要求,旅游业信息化的呼声越来越高。
旅游业的信息化,就是采用现代计算机技术、通讯技术和其它有关高新技术手段及现代传播媒介,对旅游资源、旅游信息资源、旅游生产要素资源进行深层次的管理、分配、组合、加工、传播、销售、以促进传统旅游业向现代旅游业的转化,加快旅游业的发展速度,提高旅游业的生产效率[1]。
我国在旅游信息化建设方面总体来说起步比较晚,基础比较落后,但随着由于旅游信息化本身的巨大优势和网络大潮的涌起,国内的旅游信息化建设发展十分迅猛。
随着竞争的不断加强,国内的旅游信息化建设和旅游电子商务发展逐步显示出以下趋势:
(1)竞争越来越激烈,投入越来越高;全国的旅游网站已经突破了700家,为了争夺国内巨大的旅游电子商务市场,各大旅游网站也加大投入力度;
(2)卷入的部门和行业越来越多;包括旅行社、饭店、航空公司、IT业界等各行业的企业都介入旅游信息化领域。
(3)市场越来越细分;
(4)同传统行业的结合越来越紧密;
(5)业务正从京、沪、广向其他省会和中等城市扩散。
宜昌旅游资源丰富,旅游景区建设进一步规范。
全市拥有各类旅游资源601处,其中世界级3处、国家级30处,省级40处,年接待万人以上的景点104处。
长江三峡是我国最大的国家地质公园、全国旅游景点40佳;三峡大坝旅游区、三峡人家风景区、车溪风景区、西陵峡口风景区4家风景区是国家4A级景区,玉泉寺风景区、中华鲟园、昭君村、百宝寨、泗溪风景区、屈原祠、紫阳龙洞风景区、奥陶纪石林、宋山、古潮音洞风景区、情人泉风景区11家风景区是国家3A级景区。
三峡大坝旅游区、车溪风景区、三峡人家风景区被评选为湖北首届“十佳”旅游景区。
以长江三峡为代表的自然风光和以三峡水利枢纽工程为代表的人文景观奠定了宜昌旅游在全国和国际旅游中的重要地位。
诗人屈原、美人昭君、圣人关羽、学者杨守敬为代表的古代名人文化;巴人遗风、土家风情为代表的民俗文化;三国古战场、三游洞为代表的历史遗迹以及神农架、大老岭、柴埠溪国家森林公园、后河国家级自然保护区为代表的生态休闲度假胜地共同构成了宜昌三峡旅游神奇浪漫的画卷。
宜昌旅游设施齐全,功能完善。
全市现有星级饭店66家,其中桃花岭饭店、宜昌国际大酒店、葛洲坝宾馆、三峡工程大酒店、半岛酒店5家宾馆为四星级,全市星级饭店拥有客房1.5万间;旅行社123家,其中国际旅行社6家,在册导游1370名;全市旅游业直接从业人员5.8万人,间接从业人员17.4万人。
全市拥有星级游轮8艘,豪华旅游车辆400多台,无线通讯网络覆盖全市主要景区景点。
旅游企业日益发展壮大,全市评出了大三峡国旅、宜昌中国旅行社、新天地旅行社等十强旅行社,桃花岭饭店、宜昌国际大酒店等十佳饭店,三峡大坝、柴埠溪风景区等十优风景区。
宜昌旅游业信息化基础建设比较落后,信息处理的自动化程度还比较低。
自从市政府推行示范企业信息化工程以来,宜昌市信息化建设已经取得了进步。
据三峡都市报报道,近两年来,宜昌全市制造业企业信息化建设累计投入资金已突破1亿元。
已有60多家企业建立了现代集成制造和计算机辅助设计等信息化系统,使产品生产制造流程及办公实现了自动化、网络化。
在这段时间里宜昌市旅游局建立了一部分旅游办公自动化系统,不少的企业建立了与旅游相关的网站,但是旅游业存在的管理体制不顺;旅游开发总体水平不高,内部结构不尽合理;区域发展不平衡,网络不健全等问题都需要继续利用信息化技术加以解决。
宜昌是三峡工程所在地和西部大开发承东启西的门户。
在党的十六大精神指引下,在市委、市政府的正确领导下,正朝着建设世界水电旅游名城的宏伟目标大步前进,电子政务系统、网络信息化建设已引起各级政府部门和广大企业的高度重视并被提上议事日程。
宜昌三峡旅游GIS系统将遵照全国信息化工作会议确立的方针及国家旅游局的标准,按照统一规划、相互协调、稳步推进的实施原则,处理好行业与部门、政府与企业、管理与开发的相互关系,充分发挥统一规划的指导作用,发挥各市、县及企业发展旅游信息工程的积极性,通过行政推动和市场运作相结合的方式,建设完备的管理和商务网络。
如何合理开发丰富的旅游资源,管理众多的旅游信息,强化旅游服务质量和意识,吸引海内外广大游客,更好地为旅客提供满意的服务显得尤为迫切。
因此开发一套宜昌三峡地区网上旅游信息系统,是广大宜昌群众,和国内外旅游所期待的。
1.1开发WEB旅游信息系统的目的和意义
当今随着经济环境全球化,企业面临着越来越激烈的竞争。
大多数有竞争力的企业都把对企业信息化作为他们成功的重要因素。
随着信息产业的迅猛发展,新的信息技术层出不穷,对新的信息技术的应用,可以减少成本,增加效益,提高企业竞争力。
同时,对新技术的应用给企业带来了风险,这不仅是技术本身带来的风险,对新技术的不正确理解和应用也成为了阻碍新技术普及的重要因素[2]。
本系统就是在这样的背景下,通过对宜昌三峡地区旅游行业市场的考察和分析,发现若要在宜昌地区大力发展旅游业,建立一个宜昌三峡地区的旅游资源信息平台是十分有必要的。
建立一个以网络为依托的,涵盖各旅游客体和旅游媒体的大旅游信息系统,为旅游行政管理部门、旅游企业提供有力的规划发展、资源调配和旅游服务管理功能和辅助决策功能,为广大游客提供便捷、及时、详尽、准确的旅游信息和服务。
通过对旅游产品为核心的现代旅游业发展模式研究、数字化旅游产品创新辅助技术研究开发、以及相关辅助系统开发与实际应用,最终增强旅游管理部门对行业的宏观调控与服务能力,实现旅游行业产品结构与资源优化,提高旅游行业的整体竞争能力[3]。
1.2系统的技术要求
1.2.1WebServices概述
WebServices是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得WebService能与其他兼容的组件进行互操作[4]。
(1)体系结构
Web服务的一个主要思想,就是未来的应用将由一组应用了网络的服务组合而成。
只要两个等同的服务使用统一标准和中性的方法在网络上宣传自己,那么从理论上说,一个应用程序就可以根据价格或者性能的标准,从两个彼此竞争的服务之中选出一个。
除此之外,一些服务允许在机器之间复制,因而可以通过把有用的服务复制到本地储存库,来提高允许运行在特定的计算机(群)上的应用程序的性能。
WebServices体系结构是面向对象分析与设计(OOAD)的一种合理发展(logicalevolution),同时也是电子商务解决方案中,面向体系结构、设计、实现与部署而采用的组件化的合理发展(logicalevolutionofcomponentsgearedtowardsthearchitecture,design,implementation,anddeploymentofe-businesssolutions)。
这两种方式在复杂的大型系统中经受住了考验。
和面向对象系统一样,封装、消息传递、动态绑定、服务描述和查询也是WebServices中的基本概念,而且,WebServices另外一个基本概念就是:
所有东西都是服务,这些服务发布一个API供网络中的其他服务使用,并且封装了实现细节。
下面我们就来看一下WebServices的体系结构--面向服务的体系结构(SOA)。
图1面向服务的体系结构(SOA)
从图1可以看出,SOA结构中共有三种角色:
Serviceprovider:
发布自己的服务,并且对使用自身服务的请求进行响应
Servicebroker:
注册已经发布的Serviceprovider,对其进行分类,并提供搜索服务
Servicerequester:
利用Servicebroker查找所需的服务,然后使用该服务
SOA体系结构中的组件必须具有上述一种或多种角色。
在这些角色之间使用了三种操作:
publish操作:
使Serviceprovider可以向Servicebroker注册自己的功能及访问接口
find操作:
使Servicerequester可以通过Servicebroker查找特定种类的服务
bind操作:
使Servicerequester能够真正使用Serviceprovider
为支持结构中的三种操作(publish、find和bind),SOA需要对服务进行一定的描述,这种服务描述(ServiceDescription)应具有下面几个重要特点:
首先,它要声明Serviceprovider的语义特征。
Servicebroker使用语义特征将Serviceprovider进行分类,以帮助具体服务的查找。
Servicerequester根据语义特征来匹配那些满足要求的Serviceprovider。
(因此,语义特征中重要的一点就是对Serviceprovider的分类。
)其次,服务描述应该声明接口特征,以访问特定的服务。
最后,服务描述还应声明各种非功能特征,如安全要求,事务要求,使用Serviceprovider的费用等等。
接口特征和非功能特征也可以用来帮助Servicerequester对Serviceprovider的查找。
注意,服务描述和服务实现是分离的,这使得Servicerequester可以在Serviceprovider的一个具体实现(implementation)正处于开发阶段、部署阶段或完成(execution)阶段时,对其(具体实现)进行绑定。
另外,SOA中的组件相互之间必须能够进行交互,才能进行上述三种操作。
所以WebServices体系结构的另一个基本原则就是使用标准的技术,包括服务描述、通讯协议以及数据格式等。
这样一来,开发者就可以开发出平台独立、编程语言独立的WebServices,从而能够充分利用现有的软硬件资源和人力资源。
最后,SOA体系结构没有对WebService的粒度进行限制,因此一个WebService即可以是一个组件(小粒度),该组件必须和其他组件结合才能进行完整的业务处理;WebService也可以是一个应用程序(大粒度)[5]。
(2)相关技术规范
①协议及消息传递(ProtocolandMessaging)
SOAP:
即简单对象访问协议(SimpleObjectAccessProtocol),它是用于交换XML编码信息的轻量级协议。
它有三个主要方面:
XML-envelope为描述信息内容和如何处理内容定义了框架;将程序对象编码成为XML对象的规则;执行远程过程调用(RPC)的约定。
SOAP可以运行在任何其它传输协议上。
例如,您可以使用SMTP,即因特网电子邮件协议来传递SOAP消息。
在传输层之间的头是不同的,但XML有效负载保持相同。
性能:
SOAP用XML将消息编码,因此在调用过程的任何一步都极易处理消息。
另外,调试SOAP消息的方便性使各种SOAP执行能快速聚合在一起,这点很重要因为SOAP就是要达到大范围的协同工作。
(CORBA、DCOM和RMI对参数和返回值使用二进制编码。
除此之外,他们假设发送端和接收端充分了解消息的前后关系,因此对诸如参数名称或类型的任何元信息都不编码。
这种方法产生了良好的性能,但使中介很难处理消息。
因为每个系统使用不同的二进制编码,所以建立互操作的系统很难)。
表面看来,基于XML的模式本应比基于二进制的慢,但它并不像表面那么简单。
首先,当SOAP被用于通过因特网发送消息时,在每个端点给消息编码/解码的时间与在端点间传输字节的时间相比较是微不足道的,所以这种情况下使用XML没太大问题。
其次,当SOAP用于封闭环境下的点对点间的消息传送,如在同一公司部门间的传送时,各端点可能将运行相同的SOAP执行。
这样,这个特定执行就拥有专门的优化机会。
例如,一个SOAP客户端可添加一个HTTPheader标记到SOAP请求上,这个请求说明它支持一个特定的优化。
如果SOAP服务器也支持那个优化,它会在第一个SOAP响应中返回一个HTTPheader标记,告诉客户端可以在下面的通信中使用这种优化。
接下来,客户端和服务器可以开始使用这种优化了。
②接口描述(InterfaceDescription)
WSDL:
WSDL是用来描述网络(network)服务或终端(endpoint)的一种XML语言,它用于定义WebServices以及如何调用它们(描述Web服务的属性,例如它做什么,它位于哪里和怎样调用它)。
WSDL文档可用于动态发布WebServices、查找已发布的WebServices以及绑定WebServices。
在WSDL中包含了使用SOAP的服务描述的绑定,也包含了使用简单HTTPGET和POST请求的服务描述的绑定。
WSDL将Web服务定义成一系列的端口(port),每个端口用来表示从抽象端口类型(porttype)到用于调用Web服务的具体通信协议的一个映射。
端口类型由一组与Serviceprovider交换信息的操作组成,它支持对包含消息的数据类型的定义。
一个完整的WSDL服务描述是由一个服务接口和一个服务实现文档组成的。
由于服务接口表示服务的可重用定义,它在UDDI注册中心被作为tModel发布。
服务实现描述服务的实例。
每个实例都是使用一个WSDLservice元素定义的。
服务实现文档中的每个service元素都被用于发布UDDIbusinessService。
因为WSDL包含了对服务接口的完整描述,所以我们可以使用它来创建能简化服务访问的存根,该存根为一段Java代码(假设使用Java),它自动生成了访问Web服务的类。
如果我们需要访问Web服务,只需调用该类中对应的方法即可,而不用在客户端程序中再写入那些令人头疼的配置信息了。
通过IBM提供的工具包可以轻松创建WSDL文档对应的存根。
(由此看出,不用WSDL也可以访问Web服务)
WSDL取代了IBM的NASSL(Network-AccessibleServiceSpecificationLanguage)和Microsoft的SCL(SOAPContractLanguage)。
UDDI:
即UniversalDescription,DiscoveryandIntegration。
它提供了在Web上描述并发现商业服务的框架。
UDDI通过服务注册,以及使用SOAP访问这些注册信息的约定来实现上述目标。
UDDI计划的核心组件是UDDI商业注册,它使用一个XML文档来描述企业及其提供的Web服务。
从概念上来说,UDDI商业注册所提供的信息包含三个部分:
"白页(WhitePage)"包括了地址,联系方法,和已知的企业标识;"黄页(Yellowpage)"包括了基于标准分类法的行业类别;"绿页(GreenPage)"则包括了关于该企业所提供的Web服务的技术信息,其形式可能是一些指向文件或是URL的指针,而这些文件或URL是为服务发现机制服务的。
所有的UDDI商业注册信息存储在UDDI商业注册中心中。
借助XML和SOAP,集成和交互的问题将从层次上被简化。
XML提供了跨平台的数据编码和组织方法,而SOAP建立在XML之上,定义了一种跨系统平台的信息交换的简单包装方法。
绑定于HTTP之上的SOAP协议,可以跨语言、跨操作系统进行远程过程调用(RPC),实现了编程语言和系统平台的无关性。
而以前的调用方式则和复杂的分布式对象标准或是中间件有密切的关系,从长期的眼光来看,这些都不是高效的解决方案。
XML和SOAP这样的跨语言、跨平台的解决方案大大简化了不同企业系统之间的交互问题。
但如果仅仅是XML和SOAP的话,对于公司间的交流仍存在着巨大的鸿沟。
UDDI规范在XML和SOAP的基础之上定义了新的一层,在这一层次,不同企业可以用相同的方法描述自己所能提供的,并能查询对方所能提供的服务。
UDDI注册使用的核心信息模型由XMLSchema定义。
使用XML是因为它提供了平台无关的数据描述并很自然的描述了数据的层次关系。
而选择XMLSchema是因为它支持丰富的数据类型,便捷的描述方式及其按信息模型对数据进行验证的能力。
UDDIXMLSchema定义了四种主要信息类型,它们是技术人员在需要使用合作伙伴所提供的Web服务时必须了解的技术信息。
它们是:
商业实体信息、服务信息、绑定信息和服务调用规范的说明信息
UDDI程序员API规范分为两个逻辑部分:
查询API和发布API。
查询API又分为两个部分:
一部分被用来构造搜索和浏览UDDI注册信息的程序,另一部分在Web服务出现错误时使用。
程序员可以利用发布API创建各种类型的工具,以直接与UDDI注册中心进行交互,便于企业技术人员管理businessEntity或tModel结构的发布信息。
UDDI调用模型
每一个独立发布的Web服务都是使用一个bindingTemplate结构来建模的。
对这个Web服务的调用通常通过缓存bindingTemplate数据来实现。
注意到这一点后,在你准备编写调用某种Web服务的程序时,该如何使用UDDI就很清楚了。
下面列出了基本步骤:
编写调用远程Web服务的程序时,程序员使用UDDI商业注册中心(通过使用Web界面或其它基于查询API的工具)来定位businessEntity信息,这些信息是由(或为)提供该Web服务的企业注册的。
程序员可以进一步获得更详细的businessService信息,或是得到一个完整的businessEntity结构。
因为businessEntity结构包含了有关已发布的Web服务的所有信息,因此程序员只需简单地选择一个bindingTemplate并保存留待以后使用。
基于Web服务在bindingTemplate的tModel中提供的调用规范的相关信息,程序员可以按照该Web服务的调用规范编写程序。
在运行时,程序可以按需要使用已保存下来的bindingTemplate的信息来调用Web服务[6]。
般说来,只要远程Web服务和调用它的程序都准确的实现了必要的接口(按照在tModel中所引用的调用规范),对远程服务的调用就一定会成功。
1.2.2JSP简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其网址为