课程设计基于Webservice信息查询系统的设计说明.docx

上传人:b****5 文档编号:7216089 上传时间:2023-01-21 格式:DOCX 页数:17 大小:465.60KB
下载 相关 举报
课程设计基于Webservice信息查询系统的设计说明.docx_第1页
第1页 / 共17页
课程设计基于Webservice信息查询系统的设计说明.docx_第2页
第2页 / 共17页
课程设计基于Webservice信息查询系统的设计说明.docx_第3页
第3页 / 共17页
课程设计基于Webservice信息查询系统的设计说明.docx_第4页
第4页 / 共17页
课程设计基于Webservice信息查询系统的设计说明.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

课程设计基于Webservice信息查询系统的设计说明.docx

《课程设计基于Webservice信息查询系统的设计说明.docx》由会员分享,可在线阅读,更多相关《课程设计基于Webservice信息查询系统的设计说明.docx(17页珍藏版)》请在冰豆网上搜索。

课程设计基于Webservice信息查询系统的设计说明.docx

课程设计基于Webservice信息查询系统的设计说明

 

毕业论文

 

基于Webservice的信息查询系统

——旅游城市信息、天气预报、人民币汇率、手机归属地等信息查询

 

1.2.4WSDL8

3.2.3WSDL文件分析13

 

项目开发人员角色与工作任务分配

排名

联系方式

角色

完成工作任务

 

1

 

王立峰

 

yuw01163.

架构设计、编写代码、测试调试、文档编写,设计流程图

组织项目架构,完成主要代码编写,调试修改,编写项目文档,搜集相关资料

 

2

 

高超

 

开发、测试、文档编写,搜集相关资料

编写代码、测试、文档编写,搜集相关资料

 

3

 

黎超

 

开发、测试、文档编写、使用Visio画流程图

编写代码、测试、文档编写、使用Visio画流程图

 

项目部署与测试说明

1、运行环境:

jdk1.5以上,tomcat5.5

2、tomcat配置:

修改tomcat根目录下conf文件夹下的server.xml配置文件,在

……

中加入如下配置,

重新启动tomcat,在浏览器中输入:

localhost:

8090/webservicetest(其中8090为测试机tomcat端口号),进入系统。

3、使用本系统需是计算机处在联网状态,才能访问Internet上发布的Webservice服务的功能。

4、由于在Internet上未找到可用的“旅游城市信息查询”的Webservice服务,故该功能暂时无法进行测试使用。

 

摘要

WebService是构建互联网分布式系统的基本部件,已正成为企业应用集成(EnterpriseApplicationIntegration)的有效平台。

在互联网中可以直接调用WebService构建应用程序,而不必考虑这些WebService部是怎么实现的。

WebService通过标准通信协议,通过使用SOAP通信协议,在互联网上发布webService服务程序模块(以服务的方式)。

 WebService发布一份详细的WSDL(WebServiceDescriptionLanguage)接口说明,来帮助用户构建应用程序。

 WebService将服务注册到管理服务器,通过UDDI(UniversalDiscoveryDescriptionandIntegration)文档说明服务接口,用户查询和使用所发布的webService服务。

WebService是一种新的web应用程序,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。

可以执行从简单的请求到复杂商务处理的任何功能。

部署以后,其他WebService应用程序可以发现并调用它部署的服务。

 

关键词:

Webservice;WSDL;SOAP;XML;旅游城市信息、天气预报、人民币汇率、手机归属地;

 

1Webservice相关模型与理论

1.1Webservice介绍

从表面上看,WebService就是一个应用程序,该应用程序向外界提供了一个能够通过Web进行调用的API。

即用编程的方法通过Web调用来实现某个功能的应用程序。

如图:

创建WebService,该WebService作用是查询旅游城市信息、天气预报、人民币汇率、手机归属地信息。

接受查询条件字符串,通过SOAP协议将客户端请求信息发送到WebService服务发布服务器上,WebService服务端接收用户请求信息,调用中间层组件,把结果格式化为xml数据形式,最后还要通过SOAP协议将结果数据发挥客户端,客户端通过浏览器即可查看该信息。

如图:

从深层次上看,WebService是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以与通过Web来调用。

WebService便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规,这些规使得WebService能与其他兼容的组件进行互操作。

它可以使用标准的互联网协议,像超文本传输协议和XML,将功能体现在互联网和企业部网上。

WebService平台是一套标准,主要目标是跨平台的可互操作性。

为了达到这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。

你可以用你喜欢的任何语言,在你喜欢的任何平台上写WebService。

1.2WebService的技术支持

WebService平台需要一套协议来实现分布式应用程序的创建。

要实现互操作性,平台无关性,WebService平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。

目前这些协议有:

1.2.1XML和XSD

XML是可扩展的标记语言,是WebService平台中表示数据的基本格式。

其易于建立、易于分析和平台无关。

XML是由万维网协会(W3C)创建,W3C制定的XMLSchemaXSD定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。

XSD是XML结构定义(XMLSchemasDefinition)。

XMLSchema是DTD的替代品。

XMLSchema语言也就是XSD。

XMLSchema描述了XML文档的结构。

可以用一个指定的XMLSchema来验证某个XML文档,以检查该XML文档是否符合其要求。

文档设计者可以通过XMLSchema指定一个XML文档所允许的结构和容,并可据此检查一个XML文档是否是有效的。

XMLSchema本身是一个XML文档,它符合XML语法结构。

可以用通用的XML解析器解析。

WebService平台是用XSD来作为数据类型系统的。

当用某种语言如Java、VB.NET或C#来构造一个WebService时,为了符合WebService标准,所使用的数据类型都必须被转换为XSD类型。

并使用SOAP协议使其在不同平台和不同软件的不同组织间传递。

1.2.2SOAP协议

SOAP(SimpleObjectAccessProtocol)即简单对象访问协议,用于交换XML编码信息的轻量级协议。

主要有三个方面:

XML-envelope为描述信息容和如何处理容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。

SOAP可以运行在任何其他传输协议上。

例如,可以使用SMTP(简单传输协议)来传递SOAP消息。

在传输层之间的头是不同的,但XML的有效负载保持一样。

简单对象访问协议(SOAP)是一种轻量的、简单的、基于XML的协议,它被设计成在Web上交换结构化的和固化的信息。

SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(),简单传输协议(SMTP),多用途网际扩充协议(MIME)。

还支持从消息系统到远程过程调用(RPC)等大量的应用程序。

SOAP包括三个部分:

SOAP封装:

它定义了一个框架,该框架描述了消息中的容是什么,谁应当处理它以与它是可选的还是必须的。

SOAP编码规则:

它定义了一种序列化的机制,用于交换应用程序所定义的数据类型的实例。

SOAPRPC表示:

它定义了用于表示远程过程调用和应答的协定。

SOAP消息基本上是从发送端到接收端的单向传输,但它们常常结合起来执行类似于请求/应答的模式。

所有的SOAP消息都使用XML编码。

一条SOAP消息就是一个包含有一个必需的SOAP的封装包,一个可选的SOAP标头和一个必需的SOAP体块的XML文档。

把SOAP绑定到提供了同时利用SOAP的样式和分散的灵活性的特点以与的丰富的特征库的优点。

在上传送SOAP并不是说SOAP会覆盖现有的语义,而是上的SOAP语义会自然的映射到语义。

在使用作为协议绑定的场合中,RPC请求映射到请求上,而RPC应答映射到应答。

然而,在RPC上使用SOAP并不仅限于协议绑定。

在本系统中,采用的是基于SOAP协议的直接的Webservice的调用。

1.2.3UDDI

UDDI(UniversalDescription,DiscoveryandIntegration)统一描述、发现和集成协议,是为解决Web服务的发布和发现问题而制订的新一代基于Internet的电子商务技术标准。

它包含一组基于Web的、分布式的Web服务信息注册中心的实现标准,以与一组使企业能将自己提供的Web服务注册到该中心的实现标准。

UDDI的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为WebService提供的、信息注册中心的实现标准规,同时也包含一组使企业能将自身提供的WebService注册,以使别的企业能够发现的访问协议的实现标准。

在用户能够调用Web服务之前,必须确定这个服务包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件。

UDDI(UniversalDescription,Discovery,andIntegration)是一个主要针对Web服务供应商和使用者的新项目。

UDDI项目中的成员可以通过UDDIBusinessRegistry(UBR)来操作Web服务的调用,UBR是一个全球性的服务。

Web服务供应商可以在UBR中描述并且注册他们的服务。

用户可以在UBR中查找并定位他们所需要的服务。

UDDI是一种根据描述文档来引导系统查找相应服务的机制。

UDDI利用SOAP消息机制(标准的XML/)来发布、编辑,浏览以与查找注册信息。

采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。

1.2.4WSDL

WebService描述语言WSDL就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述WebService与其函数、参数和返回值。

因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。

WSDL在UDDI中总是作为一个接口描述文档。

因为UDDI是一个通用的用来注册WSDL规的地方,UDDI的规并不限制任何类型或者格式描述文档。

这些文档可能是一个WSDL文档,或者是一个正规的包含导向文档的Web页面,也可能只是一个包含联系信息的电子地址。

现在Java提供了一个JavaAPIforWSDL(JWSDL)规。

WSDL提供了一套能快速处理WSDL文档的方法,并且不用直接对XML文档进行操作,它会比JAXP更方便,更快速。

1.2.5远程过程调用RPC与消息传递

WebService本身其实是在实现应用程序间的通信。

现在有两种应用程序通信的方法:

RPC远程过程调用和消息传递。

RPC远程过程调用,客户端的概念是调用服务器上的远程过程,通常方式为实例化一个远程对象并调用其方法和属性。

RPC系统试图达到一种位置上的透明性:

服务器暴露出远程对象的接口,而客户端就好像在本地使用的这些对象的接口一样,这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上。

 

2当前Webservice开发技术

2.1微软.NET

微软的.NET技术应该算是现在最为流行的WebService开发技术。

首先因为其公司在以前相应的产品就占有相当大的市场份额,以至使新推出的.NET得以有比较稳定的用户群;其次也是更重要的是.NET平台不仅延续了微软一贯的编程风格,而且还增加了许多支持Web服务的关键性技术,使得.NET在操作的简单性和执行的稳定性,高效性上达到了一个非常好的结合。

微软的VisualStudio.NET便是一个便于Web服务的开发工具。

微软的目标是,将其新编程语言——C#作为WebService的首选语言。

虽然C#看起来与Java类似,但是还有一些Java中没有的独特的功能。

.NET技术中用于WebService开发的主要工具是ASP.NET。

ASP提供了一些超出ASP以前版本的优点(例如:

代码和HTML的分离,支持C#语言等)。

2.2Sun的JavaWSDP

针对开发WebServices程序的需求,Sun推出了JavaWebServicesDeveloperPack,简称JavaWSDP。

随着1.2版本的发布,Java开发人员现在可以拥有一个方便的、集所有功能于一身的开发包,用来帮助在Java平台上开发Web服务。

JavaWSDP包含JavaXMLPack中的所有用于XML的JavaAPI(JavaAPIsforXML(JAX)),还包含有ApacheTomcat服务器以与为开发与测试Web服务提供一个功能完备的环境所需的其他组件。

JavaWSDPRegistryServer(UDDIServer)。

2.3IBM的WebSphere

IBM公司是业界第一家能够提供全面支持Web服务的电子商务基础设施中间件的公司。

通过多年来与W3C(TheWorldWideWebConsortium)的共同努力,包括DB2、Lotus、Tivoli和WebSphere在的所有IBM软件都实现了对SOAP、WSDL、UDDI、Linux、XML、J2EE等开放技术和标准的全面支持。

IBM公司的WebSphere也是比较好的基础架构软件开发平台。

WebSphere软件平台与开发工具包括WSAD(WebSphereStudioApplicationDeveloper)基于J2EE、XML和Web服务等开放标准,并具备IBM在可靠性、扩展性和安全性上的主要优势。

WebSphere是IBM在WebServices策略中的核心平台,它支持所有开发、发布、部署WebServices应用所必需的开放标准和技术,包括UDDI,SOAP,J2EE,WSDL,和对XML技术集成的增强,这特使得它在全球有很多用户。

2.4ApAche的Axis

Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。

Axis目前版本是为Java语言。

Axis是Eclipse下的Lomboz插件。

 

3系统设计与实现

在实际Webservice项目开发中,分为Webservice服务发布端和客户端开发,由于本系统的主要是基于Internet上已发布的Webservice服务的客户端开发,因此本章主要介绍客户端的开发过程,有关Webservice服务发布端的开发,将使用ApAche的Axis2来进行发布。

3.1服务发布端—Axis2配置

3.1.1搭建axis2环境

将axis2.war包拷到Tomcat根目录webapps目录下,然后启动Tomcat,访问localhost:

8080/axis2/,显示Axis2欢迎页面,则axis2已经部署成功。

3.1.2生成wsdl文件

将axis2的lib拷入项目的lib文件夹下,在build.xml的Outline视图中右键生成wsdl,并按要求修改wsdl文件,如生成的客户端或服务端的类名等。

3.1.3生成server端的.java文件

在build.xml的Outline视图中右键generate.service,控制台显示buildsuccessful后会生成对应的一些service提供类。

3.1.4生成server端的.java文件

在build.xml的Outline视图中右键aar.service,生成service提供类的aar文件,启动tomcat服务器,然后在浏览器中访问:

localhost:

8090/axis2/,选择左侧的Tools中的上传Service,选择刚生成的aar文件,则服务端的webservice服务发布完成。

3.2客户端设计与实现

3.2.1搭建项目架构

在Eclipse下建立一个web项目,将axis相关开发包拷到项目目录中。

项目目录结构如下:

3.2.2模块代码开发

在weather包下建立GetCityWeather将Action类,作为天气预报查询服务的servlet处理类,该类将调用business包下的WeatherService类的业务处理方法,该方法通过SOAP协议调用服务器端的webservice服务,得到服务器端的查询结果数据。

GetCityWeather类的接口函数如下:

publicvoiddoPost(ServletRequestreq,ServletResponseresp)

throwsServletException,IOException

{

Stringprovice=req.getParameter("province1");//查询的省份名字

Stringcity=req.getParameter("city1");//获取查询城市的名字

System.out.println("输出参数:

*************:

省:

"+provice+"市:

"+city);

ListweatherList=WeatherService.getWeatherService(provice,city);

PrintWriterpw=resp.getWriter();

if(weatherList!

=null&&weatherList.size()>=0){

for(Stringweather:

weatherList)

{

pw.println(""+weather+"
");

}

}else

{

pw.println(""+"没有查到你要的城市!

请确认您的查询条件!

"+"
");

}

}

WeatherService类的接口函数如下:

/**

*获得SOAP协议发回数据流

*paramurl服务器端url

*return

*/

publicstaticInputStreamgetSoapInputStream(Stringurl)

{

}

/**

*服务调用接口函数

*paramprovinceName

*paramcityName

*return

*/

publicstaticListgetWeatherService(StringprovinceName,StringcityName){

}

3.2.3WSDL文件分析

在浏览器中输入

3.2.4解析XML数据文件

在客户端接收到服务器端通过SOAP协议发回的XML数据文件,根据借口说明文件,来解析XML文件,将解析出来的服务器端数据显示出来。

在浏览器中输入:

点击上图的getWeather,然后点击“调用”,看一看到服务器端发回的XML文件的格式如下:

xmlversion="1.0"encoding="utf-8"?

>

-

xsi=".w3.org/2001/XMLSchema-instance"xmlns:

xsd=".w3.org/2001/XMLSchema"xmlns="WebX

 直辖市

 

 2013

 2010/02/0120:

16:

40

 今日天气实况:

气温:

7.8℃;风向/风力:

西北风小于3级;湿度:

66%;气压:

1022.9hPa

 空气质量:

良;紫外线强度:

最弱

 穿衣指数:

天气凉,建议着厚外套加毛衣等春秋服装。

年老体弱者宜着大衣、呢外套加羊毛衫。

感冒指数:

相对于今天将会出现大幅度降温,易发生感冒,注意增加衣服,加强自我防护避免感冒。

晨练指数:

早晨天气寒冷,风力稍大,请尽量避免户外晨练,若坚持户外晨练请注意保暖防冻。

洗车指数:

不宜洗车,未来24小时有雨,如果在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。

晾晒指数:

天气晴朗,午后温暖的仍能满足你驱潮消霉杀菌的晾晒需求。

旅游指数:

天空状况还是比较好的,但温度稍微有点低,且风稍大,会让您感觉些许凉意。

外出请注意防风。

路况指数:

晴天,其它条件适宜,路面比较干燥,路况较好。

舒适度指数:

白天天气晴好,但仍会使您感觉偏冷,不很舒适,请注意适时添加衣物,以防感冒。

 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文

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1