利用现成的服务编写客户端程序_第1页
利用现成的服务编写客户端程序_第2页
利用现成的服务编写客户端程序_第3页
利用现成的服务编写客户端程序_第4页
利用现成的服务编写客户端程序_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

CST9019 - 企业建模与应用集成:采用VS集成环境利用现成的服务编写客户端程序采用VS集成环境利用现成的服务编写客户端程序专题报告者:XXX (学号:2010101032) 年级专业: 10计算机 报告日期: 2013年6月18日 第13页 /共 13页 XXX -2010101032采用VS集成环境利用现成的服务编写客户端程序摘要:Web Service是一项很实用的技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。这次专题实验主要是采用Visual Studio集成环境,利用现成的服务,编写一个客户端程序,实现服务的调用过程。关键词:Web Service、Visual Studio、客户端程序目录一、Web Service 概述41、Web Service定义41)简介42)核心定义42、使用Web Service的方式41)远程过程调用42)服务导向架构53)表述性状态转移53、WSDL概述51)WSDL简介52)WSDL元素5二、Visual Studio集成开发环境61、Visual Studio简介62、Visual C#简介6三、编写客户端程序61、客户端程序介绍62、天气预报Web Service71)WSDL地址72)WSDL解析73、程序编写流程81)新建C#窗体应用程序82)添加服务引用93)设计客户端界面94)编写调用代码105)编译运行116)调试11四、结语13五、参考文献13六、自评13一、Web Service 概述1、Web Service定义1)简介Web服务是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。根据W3C的定义,Web服务(Web service)应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多应用程序接口(API)所组成的,它们透过网络,例如国际互联网(Internet)的远程服务器端,执行客户所提交服务的请求。尽管W3C的定义涵盖诸多相异且无法介分的系统,不过通常我们指有关于主从式架构(Client-server)之间根据SOAP协议进行传递XML格式消息。无论定义还是实现,WEB服务过程中会由服务器提供一个机器可读的描述(通常基于WSDL)以辨识服务器所提供的WEB服务。另外,虽然WSDL不是SOAP服务端点的必要条件,但目前基于Java的主流WEB服务开发框架往往需要WSDL实现客户端的源代码生成。一些工业标准化组织,比如WS-I,就在WEB服务定义中强制包含SOAP和WSDL。2)核心定义考虑到并没某个独立文档包含一切相关内容,可采用模块化的方式给出对WEB服务的描述,但不能给出一个“绝对全面和准确”的定义。受外部环境和实现技术影响,各方给出的核心定义可能稍有出入,但通常包括:SOAP:一个基于XML的可扩展消息信封格式,需同时绑定一个传输用协议。这个协议通常是HTTP或HTTPS,但也可能是SMTP或XMPP。WSDL:一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。UDDI:一个用来发布和搜索WEB服务的协议,应用程序可借由此协议在设计或运行时找到目标WEB服务。2、使用Web Service的方式1)远程过程调用WEB服务提供一个分布式函数或方法接口供用户调用,这是一种比较传统的方式。通常,在WSDL中对RPC接口进行定义(类似于早期的XML-RPC)。尽管最初的WEB服务广泛采用RPC方式部署,但针对其过于紧密之耦合性的批评声也随之不断。这是因为RPC式WEB服务实质上是利用一个简单的映射,以把用户请求直接转化成为一个特定语言编写的函数或方法。如今,多数服务提供商认定此种方式在未来将难有作为,在他们的推动下,WS-I基本协议集(WS-I Basic Profile)已不再支持远程过程调用。2)服务导向架构现在,业界比较关注的是遵从服务导向架构(Service-oriented architecture,SOA)概念来构筑WEB服务。在服务导向架构中,通讯由消息驱动,而不再是某个动作(方法调用)。这种WEB服务也被称作面向消息的服务。SOA式WEB服务得到了大部分主要软件供应商以及业界专家的支持和肯定。作为与RPC方式的最大差别,SOA方式更加关注如何去连接服务而不是去特定某个实现的细节。WSDL定义了联络服务的必要内容。3)表述性状态转移表述性状态转移式(Representational state transfer,REST)WEB服务类似于HTTP或其他类似协议,它们把接口限定在一组广为人知的标准动作中(比如HTTP的GET、PUT、DELETE)以供调用。此类WEB服务关注与那些稳定的资源的互动,而不是消息或动作。此种服务可以通过WSDL来描述SOAP消息内容,通过HTTP限定动作接口;或者完全在SOAP中对动作进行抽象。3、WSDL概述1)WSDL简介WSDL(Web服务描述语言,Web Services Description Language)是为描述Web服务发布的XML格式。WSDL描述Web服务的公共接口。这是一个基于XML的关于如何与Web服务通讯和使用的服务描述;也就是描述与目录中列出的Web服务进行交互时需要绑定的协议和信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给该服务。2)WSDL元素WSDL元素基于XML语法描述了与服务进行交互的基本元素:TYPE:数据类型定义的容器,它使用某种类型系统(如XSD)。Message:通信数据的抽象类型化定义,它由一个或者多个part组成。Part:消息参数Operation:对服务所支持的操作进行抽象描述,WSDL定义了四种操作: 1.单向(one-way):端点接受信息;2.请求-响应(request-response):端点接受消息,然后发送相关消息;3.要求-响应(solicit-response):端点发送消息,然后接受相关消息;4.通知(notification):端点发送消息。Port Type:特定端口类型的具体协议和数据格式规范。Binding:特定端口类型的具体协议和数据格式规范Port:定义为绑定和网络地址组合的单个端点。Service:相关端口的集合,包括其关联的接口、操作、消息等。二、Visual Studio集成开发环境1、Visual Studio简介Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。2、Visual C#简介C#(读作“C sharp”)是一种编程语言,它是为生成在 .NET Framework 上运行的各种应用程序而设计的。 C# 简单、功能强大、类型安全,而且是面向对象的。 C# 凭借在许多方面的创新,在保持 C 语言风格的表现力和雅致特征的同时,实现了应用程序的快速开发。Visual C# 是 Microsoft 对 C# 语言的实现。Visual Studio 通过功能齐全的代码编辑器、编译器、项目模板、设计器、代码向导、功能强大而易用的调试器以及其他工具,实现了对 Visual C# 的支持。 通过 .NET Framework 类库,可以访问许多操作系统服务和其他有用的精心设计的类,这些类可显著加快开发周期。三、编写客户端程序1、客户端程序介绍本客户端程序名为“各城市天气查询”,主要功能是用户输入一个城市名,然后点击查询,客户端通过调用Web Service服务,获取该城市的天气信息等资料,并展示给用户看,以此实现人机交互过程。本客户端程序获取的天气数据均来自中国气象局,能向用户简述当天即未来两天的天气情况,并给用户提供最科学的建议。界面如图一。图一、“各城市天气查询”客户端界面2、天气预报Web Service1)WSDL地址/WebServices/WeatherWebService.asmx?wsdl2)WSDL解析由于整个WSDL文件内容太多,这里只对其中的客户端使用到的操作(operation)部分进行解析。操作:getWeather根据城市或地区名称查询获得未来三天内天气情况、现在的天气实况、天气和生活指数。调用方法如下:输入参数:theCityName = 城市中文名称(国外城市可用英文)或城市代码(不输入默认为上海市),如:上海 或 58367,如有城市名称重复请使用城市代码查询(可通过 getSupportCity 或 getSupportDataSet 获得);返回数据: 一个一维数组 String(22),共有23个元素。String(0) 到 String(4):省份,城市,城市代码,城市图片名称,最后更新时间。String(5) 到 String(11):当天的 气温,概况,风向和风力,天气趋势开始图片名称(以下称:图标一),天气趋势结束图片名称(以下称:图标二),现在的天气实况,天气和生活指数。String(12) 到 String(16):第二天的 气温,概况,风向和风力,图标一,图标二。String(17) 到 String(21):第三天的 气温,概况,风向和风力,图标一,图标二。String(22) 被查询的城市或地区的介绍。例如传递参数“汕头”,返回如图二:图二、getWeather(”汕头”,”)返回数据3、程序编写流程1)新建C#窗体应用程序文件新建项目,在弹出的窗口选择Visual C#Windows窗体应用程序,如图三:图三、新建C#项目2)添加服务引用右键点击新建的项目添加服务引用,在弹出的的窗口中的地址一栏输入wsdl地址:/WebServices/WeatherWebService.asmx?wsdl图四、添加服务引用3)设计客户端界面在“Form1.cs设计”上设计客户端界面,可按个人喜好。图六、客户端界面4)编写调用代码在设计好的界面上双击“查询”按钮,VS自动跳转至Button1_Click函数,在此处添加当按钮点下时程序执行的动作,具体代码如图七。图七、代码5)编译运行点击“启动”按钮,编译生成。图八、客户端效果图6)调试输入城市“汕头”,返回结果如图九。图九、汕头天气输入城市“哈哈哈哈”,弹出出错对话框。图十、无此城市四、结语这次实验是对Web Service的简单调用,调用天气预报的网络服务其实并不难,这次实验花费的主要时间其实还是在界面的设计上,这让我感觉到做一个软件,分工合作是多么重要,术业有专攻,充分发挥个人的长处,才能提高效率,做出更好的软件。Web Service是一项非常实用的技术,有点类似于云计算,把复杂的数据处理和计算交给服务器,客户端只要使用语句简单调用就行了,这样对客户机的性能要求也不高,又能实现更多的功能。有很大的发展前景。五、参考文献1 zhangkui的博客,C#调用WebService实现天气预报,2011/02/212维基百科,“Web服务”词条3百度百科,“Web Service”词条4百度百科,“WSDL”词条5微软官网,Visual Studio简介6微软官网,Visual C#简介六、自评本人自评:93分依据:这份专题从头到尾都是本人自己做的,最后做出客户端并能成功运行。网上虽有类似的调用例子,但他们使用的是EndPoint而非WSDL,为了实现采用VS集成环境利用现成的服务编写客户端程序,本人对VS的Visual C#进行了认真的学习,同时对Web Service有了深刻的了解,做完这份专题报告时,本人对如何调用Web 服务已经有了非常明确的思路,举一反三,只要网上有提供Web服务的接口,本人能很容易的做出相应的客户端进行调用。还有在专题报告的编写上,本人也是做的非常

温馨提示

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

评论

0/150

提交评论