课程设计基于Webservice信息查询系统的设计说明_第1页
课程设计基于Webservice信息查询系统的设计说明_第2页
课程设计基于Webservice信息查询系统的设计说明_第3页
课程设计基于Webservice信息查询系统的设计说明_第4页
课程设计基于Webservice信息查询系统的设计说明_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业论文基于Webservice的信息查询系统查询旅游城市信息、天气预报、人民币汇率、手机归属地等信息目录 TOC o 1-3 u 项目开发人员角色和工作分配 PAGEREF _Toc252890685 h 2项目部署和测试说明 PAGEREF _Toc252890686 h 3摘要 PAGEREF _Toc252890687 h 41 Webservice相关模型和理论 PAGEREF _Toc252890688 h 5简介 PAGEREF _Toc252890689 h 51.2 WebService 6的技术支持 PAGEREF _Toc252890690 h 1.2.1 XML和XSD

2、 PAGEREF _Toc252890691 h 61.2.2 SOAP协议 PAGEREF _Toc252890692 h 61.2.3 UDDI PAGEREF _Toc252890693 h 71.2.4 WSDL PAGEREF _Toc252890694 h 81.2.5远程过程调用RPC和消息传递 PAGEREF _Toc252890695 h 82当前的 Web 服务开发技术 PAGEREF _Toc252890696 h 92.1微软.NET PAGEREF _Toc252890697 h 92.2 Sun的Java WSDP PAGEREF _Toc252890698 h 9

3、2.3 IBM的WebSphere PAGEREF _Toc252890699 h 92.4 ApAche的Axis PAGEREF _Toc252890700 h 103系统设计与实现 PAGEREF _Toc252890701 h 113.1服务发布者 - Axis2配置 PAGEREF _Toc252890702 h 113.1.1搭建axis2环境 PAGEREF _Toc252890703 h 113.1.2生成wsdl文件 PAGEREF _Toc252890704 h 113.1.3在服务器端生成.java文件 PAGEREF _Toc252890705 h 113.1.4在服务

4、器端生成.java文件 PAGEREF _Toc252890706 h 113.2客户端设计与实现 PAGEREF _Toc252890707 h 123.2.1构建项目架构 PAGEREF _Toc252890708 h 123.2.2模块代码开发 PAGEREF _Toc252890709 h 123.2.3 WSDL文件解析 PAGEREF _Toc252890710 h 133.2.4解析XML数据文件 PAGEREF _Toc252890711 h 143.3系统测试流程 PAGEREF _Toc252890712 h 173.3.1部署系统测试环境 PAGEREF _Toc2528

5、90713 h 173.3.2旅游景点查询 PAGEREF _Toc252890714 h 测试173.3.3天气预报查询测试 PAGEREF _Toc252890715 h 183.3.4外汇-人民币实时报价测试 PAGEREF _Toc252890716 h 193.3.5全国手机归属地查询查询测试 PAGEREF _Toc252890717 h 204项目总结及开发经验 PAGEREF _Toc252890718 h 22项目开发人员角色和工作分配排行联系方式角色完成工作任务1架构设计、代码编写、测试调试、文档编写、流程图设计整理项目结构,完成主要代码编写、调试和修改,编写项目文档,收集

6、相关资料2开发、测试、文档编制和相关信息的收集编写代码,测试,文档,收集相关信息3使用 Visio 开发、测试、记录、绘制流程图使用 Visio 编写代码、测试、记录、绘制流程图项目部署和测试说明1、运行环境:jdk1.5以上,tomcat5.52.Tomcat配置:server.xml配置文件在tomcat根目录下的conf文件夹中,在.将以下配置添加到 ;重启tomcat,在浏览器中输入: HYPERLINK %20%20%20%20:/localhost localhost :8090 /webservicetest (其中8090是测试机tomcat端口号),进入系统。3、本系统的使用

7、需要计算机处于联网状态,才能访问互联网上发布的Webservice服务的功能。4、由于“旅游城市信息查询”的Webservice服务在互联网上不可用,该功能暂时不能用于测试。摘要Web Service是构建Internet分布式系统的基础组件,已成为企业应用集成(Enterprise Application Integration)的有效平台。在Internet 上,可以直接调用Web Service 来构建应用程序,而无需考虑这些 Web Service 部分是如何实现的。Web Service 服务程序模块(以服务的形式)通过标准通信协议和使用 SOAP 通信协议在Internet 上。W

8、eb Service发布了详细的 WSDL(Web 服务描述语言)接口规范,帮助用户构建应用程序。Web Service向管理服务器注册服务,通过UDDI(Universal Discovery Description and Integration)文档描述服务接口,用户查询和使用发布的Web Service服务。Web Service 是一种新型的 Web 应用程序,它是一种可以通过 Web 发布、定位和调用的自包含、自描述、模块化的应用程序。可以执行从简单请求到复杂业务处理的任何功能。部署后,其他 Web Service 应用程序可以发现并调用其部署的服务。关键词:网络服务; WSDL;

9、肥皂; XML;旅游城市信息、天气预报、人民币汇率、手机归属地;1 Webservice相关模型和理论1.1 Web服务简介从表面上看, WebService是一个应用程序,它为外界提供可以通过Web调用的API 。它是一种应用程序,通过一种编程方法,通过Web调用来实现一个功能。如图所示:创建一个Web Service ,Web Service的作用是查询旅游城市信息、天气预报、人民币汇率、手机归属地信息。接受查询条件字符串,通过SOAP协议将客户端的请求信息致给Web Service服务发布服务器,Web Service服务器接收用户的请求信息,调用中间层组件,将结果格式化为xml数据,最

10、后需要将结果数据通过SOAP协议传输给客户端,客户端可以通过浏览器查看信息。如图所示:更深一层, Web Services是Web应用程序的一个新分支,它是自包含、自描述、模块化的应用程序,可以在网络(通常是Web)中描述、发布、发现,并通过Web进行通信调用。Web 服务是基于网络的分布式模块化组件,它们执行特定任务并遵守使Web 服务能够与其他兼容组件互操作的特定技术法规。它可以使用标准的 Internet 协议,如超文本传输协议和XML来体现 Internet 和企业网络上的功能。 Web 服务平台是一组标准,其主要目标是跨平台互操作性。为了实现这一目标, WebService完全基于X

11、ML (Extensible Markup Language)、 XSD ( XMLSchema )等平台无关和软件厂商无关的标准。它是一个用于创建可互操作和分布式应用程序的新平台。您可以在您喜欢的任何平台上以您喜欢的任何语言编写Web 服务。1.2 WebService的技术支持WebService平台需要一套协议来实现分布式应用的创建。为了实现互操作性和平台独立性, Web Service平台必须提供一个标准的类型系统,用于在不同平台、编程语言和组件模型中通信不同类型系统。目前这些协议是:1.2.1 XML和XSDXML是一种可扩展的标记语言,是Web 服务平台中表示数据的基本格式。它易于

12、设置、易于分析且与平台无关。 XML由万维网联盟(W3C)创建。 W3C开发的XML SchemaXSD定义了一组标准数据类型,并提供了一种语言来扩展这种数据类型。XSD是XML结构定义(XML Schemas Definition) 。 XML Schema是DTD 的替代方案。 XML Schema语言也称为XSD 。 XML Schema描述了XML文档的结构。可以根据指定的 XML 模式验证XML文档,以检查XML 文档是否符合其要求。文档设计者可以通过 XML Schema 指定 XML 文档内容的结构和内容,并据此检查 XML文档是否有效。 XML Schema本身就是一个XML文

13、档,它符合XML语法结构。可以使用通用XML解析器进行解析。Web Service平台使用XSD作为数据类型系统。在使用 Java、 VB.NET或C#等语言构建Web Service时,为了符合Web Service标准,必须将使用的数据类型转换为XSD类型。并使用SOAP协议使其在不同平台、不同软件组织之间传递。1.2.2 SOAP协议SOAP(简单对象访问协议)是简单对象访问协议,一种用于交换XML编码信息的轻量级协议。主要包括三个方面: XML-envelope定义了描述信息内容和如何处理内容的框架,将程序对象编码为XML对象的规则,以及远程过程调用(RPC)约定的实现。 SOAP可以

14、在任何其他传输协议上运行。例如, SMTP (简单传输协议)可用于传递SOAP消息。传输层之间的标头不同,但XML有效负载保持不变。简单对象访问协议(SOAP)是一种轻量级、简单、基于XML的协议,旨在通过Web 交换结构化和强化的信息。 SOAP可以与许多现有的 Internet 协议和格式结合使用,包括超文本传输协议() 、简单传输协议(SMTP)和多用途 Internet 扩展(MIME) 。还支持从消息传递系统到远程过程调用 (RPC) 的各种应用程序。SOAP由三部分组成:SOAP封装:它定义了一个框架,该框架描述了消息中的内容、谁应该处理它以及它是可选的还是必需的。SOAP编码规则

15、:它定义了一种用于交换应用程序定义的数据类型实例的序列化机制。SOAP RPC表示:它定义了一个表示远程过程调用和回复的契约。 SOAP消息基本上是从致方到接收方的单向传输,但它们通常结合起来实现类似请求/响应的模式。所有SOAP消息都以XML编码。 SOAP 消息是一个XML文档,其中包含必需的SOAP包装器、可选的SOAP标头和必需的SOAP主体。SOAP提供了丰富的特性库的优势,该库利用了SOAP 的样式和灵活性。传递SOAP并不意味着SOAP会覆盖现有的语义,而是SOAP 之上的SOAP语义会自然地映射到语义。在用作协议绑定时, RPC请求映射到请求,而RPC回复映射到回复。但是,通过

16、 RPC 使用 SOAP 并不仅限于协议绑定。本系统采用基于SOAP协议的直接Webservice调用。1.2.3 UDDIUDDI ( Universal Description, Discovery and Integration )是一种统一的描述、发现和集成协议,是为解决Web服务发布和发现问题而制定的基于Internet的新一代电子商务技术标准。它包含一套基于Web的分布式Web服务信息注册中心的实现标准,以及一套使企业能够将自己的Web服务注册到中心的实现标准。UDDI是为电子商务建立标准; UDDI是一套基于Web的、分布式的、信息注册中心的Web Services实现标准,还包

17、括一套Web Services,可以让企业提供自己的Register,让其他企业发现访问协议标准的实现。用户在调用Web服务之前,必须确定这个服务包含哪些业务方法,找到要调用的接口的定义,在服务器端编译软件。 UDDI(通用描述、发现和集成)是一个主要针对 Web 服务提供者和消费者的新项目。 UDDI 项目的成员可以通过 UDDI 业务注册中心 (UBR) 操作 Web 服务调用,这是一项全球服务。 Web 服务提供者可以在 UBR 中描述和注册他们的服务。用户可以在 UBR 中找到并定位他们需要的服务。 UDDI是一种引导系统根据描述文档找到对应服务的机制。 UDDI 利用 SOAP 消息

18、机制(标准 XML/)来发布、编辑、浏览和查找注册信息。使用 XML 格式封装各种类型的数据,并致到注册表或注册表返回所需的数据。1.2.4 WSDLWeb Service描述语言WSDL 是一种基于 XML 的语言,以机器可读的方式提供正式的描述文档,用于描述Web Service及其功能、参数和返回值。因为它是基于XML的,所以WSDL既是机器可读的,也是人类可读的。WSDL 在 UDDI 中总是用作接口描述文档。因为 UDDI 是注册 WSDL 规范的常用地方,所以 UDDI 规范不限制任何类型或格式的描述文档。该文档可能是 WSDL 文档,或包含指南文档的常规网页,或者它可能只是包含联

19、系信息的电子地址。 Java 现在提供了 Java API for WSDL (JWSDL) 规范。 WSDL 提供了一套可以快速处理 WSDL 文档的方法,并且不需要直接对 XML 文档进行操作,会比 JAXP 更加方便快捷。1.2.5 远程过程调用RPC和消息传递Web Service本身实际上是在实现应用程序之间的通信。现在有两种应用程序通信方法: RPC远程过程调用和消息传递。RPC远程过程调用,客户端的概念是调用服务器上的远程过程,通常通过实例化一个远程对象并调用其方法和属性。 RPC系统试图实现一种位置透明:服务端暴露远程对象的接口,而客户端似乎在本地使用这些对象的接口,所以底层信

20、息是隐藏的,客户端不需要全部。知道对象在哪台机器上。2 当前Web服务开发技术2.1 微软.NET微软的.NET技术应该算是最流行的Web Service开发技术了。首先,由于其公司在之前的相应产品中占有相当大的市场份额,使得新推出的.NET能够拥有相对稳定的用户群;其次,更重要的是, .NET平台不仅延续了微软一贯的编程风格,而且增加了许多支持Web服务的关键技术,使.NET实现了操作简单、执行稳定、效率高的很好的结合。 .Microsoft 的Visual Studio.NET 是一种促进Web 服务的开发工具。 Microsoft 的目标是使其新的编程语言C#成为Web 服务的首选语言。

21、尽管C#看起来与Java相似,但有一些 Java 中没有的独特功能。 .NET技术中用于Web 服务开发的主要工具是ASP.NET 。 ASP与以前的ASP版本相比提供了一些优势(例如:代码和HTML的分离、对C#语言的支持等) 。2.2 Sun的Java WSDP在开发Web Services程序方面, Sun推出了Java Web Services Developer Pack ,简称Java WSDP 。随着1.2 版的发布,Java开发人员现在可以拥有一个方便的一体化开发工具包来帮助在Java平台上开发Web服务。 Java WSDP包含 Java XML 包中的所有用于 XML 的J

22、ava API ( Java APIs for XML ( JAX )) ,以及为开发和测试Web 服务提供功能齐全的环境所需的 Apache Tomcat 服务器和其他组件。 Java WSDP 注册服务器(UDDI 服务器) 。2.3 IBM的WebSphereIBM是业内第一家提供完全支持Web 服务的电子商务基础设施中间件的公司。通过多年来与 W3C(万维网联盟)的共同努力,包括DB2 、 Lotus 、 Tivoli和WebSphere 在内的所有IBM软件都实现了对 SOAP 、 WSDL 、 UDDI 、 Linux 、 XML 、 J2EE等开放技术和标准的全面支持。 IBM的

23、WebSphere也是一个比较好的基础设施软件开发平台。 WebSphere软件平台和包括WSAD ( WebSphere Studio Application Developer )在内的开发工具基于J2EE 、 XML和Web服务等开放标准,在可靠性、可扩展性和安全性方面具有IBM的主要优势。 WebSphere是IBM的Web 服务战略中的核心平台。它支持开发、发布和部署Web 服务应用程序所需的所有开放标准和技术,包括 UDDI 、 SOAP 、 J2EE 、 WSDL ,以及对XML 技术集成的增强。使其在全球拥有众多用户。2.4 ApAche的AxisAxis本质上是一个SOAP

24、引擎,它提供了用于创建服务器端、客户端和网关SOAP 操作的基本框架。当前版本的Axis 用于 Java语言。 Axis是Eclipse下的Lomboz插件。3 系统设计与实现在实际的Webservice项目开发中,分为Webservice服务发布端和客户端开发。由于本系统主要基于互联网上已经发布的Webservice服务的客户端开发,本章主要介绍客户端开发流程,以及相关的Webservice服务发布,终端的开发将使用ApAche发布的轴2。3.1 服务发布者 - Axis 2 配置3.1.1搭建axis2环境将axis2.war包复制到Tomcat根目录的webapps目录下,然后启动Tom

25、cat,访问localhost:8080/axis2/ ,显示Axis2欢迎页面,此时axis2部署成功。3.1.2生成wsdl文件将axis2的lib复制到项目的lib文件夹中,在build.xml的Outline视图中右键生成wsdl,根据需要修改wsdl文件,如生成的client或server的类名。3.1.3在服务端生成.java文件在 build.xml 的 Outline 视图中右键单击 generate.service。控制台显示构建成功后,会生成一些对应的服务提供者类。3.1.4在服务端生成.java文件在build.xml的Outline视图中右键aar.service,生成

26、服务提供者类的aar文件,启动tomcat服务器,然后在浏览器中访问:localhost:80 9 0/axis2/,选择上传服务在左侧的Tools中,选择刚刚生成的aar文件,然后发布服务器端的webservice服务。3.2 客户端设计与实现3.2.1构建项目架构在Eclipse下创建一个web工程,将axis相关的开发包复制到工程目录下。项目目录结构如下:3.2.2模块代码开发CityWeather ,使用Action类作为天气预报查询服务的servlet处理类。该类会调用业务包下WeatherService类的业务处理方法。该方法通过SOAP协议调用服务器端的webservice服务,

27、获取服务器端的查询。结果数据。GetCityWeather类如下:publicvoid doPost (ServletRequest req, ServletResponse resp)抛出ServletException、IOExceptionString provice = req.getParameter( province1 ); /要查询的省份名称String city=req.getParameter( city1 ); /获取查询城市名称System.out .println( 输出参数:*:省: +provice+ 城市: +city);List weatherList = W

28、eatherService.getWeatherService ( provice,city);PrintWriter pw=resp.getWriter();if (weatherList != null & weatherList.size()=0)对于(字符串天气:weatherList)pw.println( +weather+ );其他pw.println( + 您要的城市没有找到!请确认您的查询! + );的接口函数如下:/* 获取SOAP协议发回数据流*参数url服务器端 url*返回*/publicstatic InputStream getSoapInputStream(St

29、ring url )/*服务调用接口函数*参数省名*参数城市名称*返回*/publicstatic List getWeatherService(String ProvinceName,String cityName)3.2.3 WSDL文件分析 WeatherWS.asmx?wsdl在浏览器 HYPERLINK :/webservice.webxml .cn/WebServices/ 中,查看WSDL文件的接口说明,会看到如下,从这里找到调用webserviceAPI的接口函数,如图:3.2.4解析 XML 数据文件客户端通过SOAP协议接收服务器发回的XML数据文件,根据借口描述文件解析X

30、ML文件,并显示解析后的服务器端数据。在浏览器中输入: HYPERLINK %20%20%20%20:/webservice.webxml%20%20%20% WeatherWS.asmx查看接口文件,接口描述文件如图:点击上图中的getWeather,然后点击“调用”,可以看到服务器发回的XML文件格式如下: HYPERLINK %20%20%20%20:/webservice.webxml%20%20%20% l # - 自治市 2013 2010/02/01 20:16:40 今日直播天气:气温:7.8 ;风向/风力:西北小于3级;湿度:66%;气压:1022.9hPa 空气质量:好;紫

31、外线强度:弱衣着指数:天气冷,春秋建议穿厚外套和毛衣。年老体弱者宜穿大衣、毛呢大衣、毛衫。感冒指数:与今天相比,气温会有较大下降,容易感冒。注意添衣,加强自主防护,避免感冒。晨练指数:早上天气寒冷,风力稍强。请尽量避免户外晨练。如果坚持户外晨练,请注意保暖,防冻。洗车指标:不宜洗车,未来24小时内会下雨,如果在此期间洗车,路上的雨水和泥水可能会再次弄脏你的车。干燥指数:天气晴朗,温暖的午后仍能满足您除湿、防霉、杀菌的干燥需求。旅游指数:天空条件还算不错,只是气温稍低,风稍大,会让人觉得凉快一些。外出时请注意防风。路况指数:晴天,其他条件合适,路面比较干燥,路况良好。舒适指数:白天天气很好,但还

32、是会让你感到寒冷和不舒服。请注意及时添衣,以防着凉。 2月2日小雨 2 /6 东北风3-4级到东风3-4级 7.gif 7.gif 2月3日小雨转多云 2 /5 东风3-4级 7.gif 2.gif 2月4日小雨 5 /6 东北风3-4级 7.gif 7.gif 2月5日多云转小雨 7 /8 东风3-4转东南风3-4 2.gif 7.gif 2月6日小雨 7 /9 东南风3-4级 7.gif 7.gif 根据上述XML文件的格式,客户端解析程序的核心算法代码段如下:publicstatic List getWeather ( int cityCode) List weatherList = n

33、ew ArrayList();文件文件;DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance ( );dbf.setNamespaceAware(真);试试DocumentBuilder db = dbf.newDocumentBuilder();InputStream = getSoapInputStream ( WEATHER_QUERY_URL + cityCode);doc = db.parse(is);NodeList nl = doc.getElementsByTagName( string );int le

34、n = nl.getLength();for ( int i = 0; i len; i+)节点 n = nl.item(i);字符串天气 = n.getFirstChild().getNodeValue();weatherList.add(天气);is.close();捕捉(UnsupportedEncodingException e)e.printStackTrace();捕捉(DOMException e)e.printStackTrace();捕捉(ParserConfigurationException e)e.printStackTrace();捕捉(SAXException e)

35、e.printStackTrace();捕捉(IOException e)e.printStackTrace();返回天气列表;通过getWeather算法,然后将数据显示到客户端浏览器。其他 webservice 服务使用相同的程序流进行处理。3.3 系统测试流程3.3.1部署系统测试环境在jdk1.5+tomcat5.5的测试环境下,参考上一章项目部署与测试说明部署系统。启动tomcat,在浏览器中输入: HYPERLINK %20%20%20%20:/localhost:8090/webservicetest/ localhost:8090/webservicetest/ ,进入系统主页面,如图:3.3.2 HYPERLINK %20%20%20%20:/localhost:8090/webservicetest/lvyouIndex.jsp t _bank 旅游景点查询测试在webservice首页点击“旅游景点查询”,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论