版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章教学要点本章要点:WebService技术基础WebService服务的工作原理与过程WebService服务的体系结构创建Web服务案例1思考问题?
什么是WebService?
WebService服务的工作原理与过程如何建立WebService服务2复习:类?2.3.1类声明
类修饰符class类名{类体}
4类的声明语法:[访问修饰符]class<类名>{//类的主体}示例:classEmployee{//类的主体}//成员变量//成员方法5类的声明示例:classEmployee{}类中有主要包含什么东西?①字段变量②成员方法(构造函数,一般函数)③构造函数:与类同名的函数案例:从工具箱中的Botton,生成若干botton1,botton2……类的优点:提高代码重用度!//成员变量//成员方法6类的声明示例:classEmployee{}由类生成对象的方法:
①类名对象名=new类名()
②从工具箱中拖出//成员变量//成员方法复习:类?publicclassstudent{publicintx1;privateinty1;}对类的成员变量的访问protectedvoidButton1_Click(objectsender,EventArgse)
{studenta1=newstudent();
a1.x1=22;TextBox1.Text=a1.x1.ToString();
}类中的变量,公有变量,生成对象后,可以通过“对象.变量”访问。类中的变量,私有变量,生成对象后,不能通过“对象.变量”访问。11.1WebService技术基础
81、什么是WebService技术?从表面上看,WebService就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的应用程序接口API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。例如,我们可以创建一个WebService,其作用是查询某公司某员工的基本信息。它接受该员工的编号作为查询字符串,返回该员工的具体信息。Web服务的全称是XMLWebService,是存在于Web服务器上的程序逻辑组件。它利用一套标准协议来定义平台无关、编程语言无关的接口,并利用该接口为其它应用程序提供服务。采用WebService技术开发的应用,如Google提供的搜索服务、Amazon提供的图书检索服务等。11.1WebService技术基础
92、WebService技术的重要性WebService技术主要用于分布式系统之间的通讯、电子商务的数据交换等。WebService技术可称得上是软件产业的一场革命,它有可能会重组整个软件产业格局,它是未来软件存在一种形式,有人称其为Internet的第三次革命,其巨大的商业机遇,有可能从根本上改变企业的商业模式。11.1WebService技术基础
103、WebService技术的优势:旅行社访问的这个应用程序并不受站点开发人员编程技巧、编程环境和学科技术的限制。旅行社不必负担用于保持数据(如天气预报、汇率)最新状态的高昂维护费用。XMLWebService使用Internet,因此旅行社不必创建和维护专用链接来提供服务。XMLWebService独立于编程语言、协议和平台,因此旅行社的开发人员没有必要学习怎样创建和部署XMLWebService。Web站点可以向XMLWebService提供者收取费用,因为它为XMLWebService提供者创建了一个渠道,使之能够为旅行社站点的消费者提供服务。11.1WebService技术基础
114、WebService技术的组成结构(1)asmx文档是ASP.NETWeb服务应用程序文档,扩展名是.asmx。在文档内,主要是Web服务类的定义,它通过Web服务方法为其它应用程序提供服务。(2)WSDL文档全称是WebServicesDescriptionLanguage(Web服务描述语言)。用于描述服务器提供的Web服务。它描述一个Web服务的所有方面,包括Web服务方法的参数、返回类型和通信协议。(3)UDDI全称是UniversalDescription,DiscoveryandIntegration(通用说明、发现和集成)。一种功能上类似于目录(与电话簿相似)而且独立于平台的框架,可提供在Internet上定位和注册Web服务的方法。UDDI通过服务注册,以及使用SOAP访问注册信息的约定来实现发现商业服务。(4)XML全称是ExtensibleMarkupLanguage(可扩展标记语言)。是标准通用标记语言(SGML)的子集,非常适合Web传输。XML提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。(5)SOAP协议全称是SimpleObjectAccessProtocol(简单对象访问协议)。是一个基于XML的简单协议,用于在Web上交换结构化的类型信息。(6)vsdisco文档Web服务发现文件,是一个XML文档。通过Web服务发现文件,Web服务客户端可以找到Web服务,并知道该服务有哪些功能以及如何正确地与之进行交互。11.1WebService技术基础
125、WebService的典型应用WebService的典型集成应用如图11-1所示。旅行社访问的这个应用程序并不受站点开发人员编程技巧、编程环境和学科技术的限制。旅行社不必负担用于保持数据(如天气预报、汇率)最新状态的高昂维护费用。XMLWebService使用Internet,因此旅行社不必创建和维护专用链接来提供服务。XMLWebService独立于编程语言、协议和平台,因此旅行社的开发人员没有必要学习怎样创建和部署XMLWebService。Web站点可以向XMLWebService提供者收取费用,因为它为XMLWebService提供者创建了一个渠道,使之能够为旅行社站点的消费者提供服务。11.1WebService技术基础
13111.1WebService技术基础
146、WebService能提供的服务XMLWebService提供者可以让Web站点支付使用服务的费用。
通过一个应用程序,例如外汇汇率计算器,把它作为一个XMLWebService,银行就能访问很多旅行社客户群。XMLWebService提供商不用负担高昂的费用用于开发和推广一个面向旅行社群体的Web站点。
因为XMLWebService使用Internet通讯,所以服务提供者不需要昂贵的专用链接来提供服务。
因为XMLWebService在语言、协议和平台上是独立的,所以其服务能够被各种各样的应用程序使用。11.2WebService服务的工作原理与过程
151、WebService服务的工作原理返回数据,而不是返回页面客户端通过自己的服务器,向其它网站发出请求时,从其它网站返回的是数据,而不是返回页面,这是与通常的基本服务器的Web访问完全不一样的地方,如图11-2所示。11.2WebService服务的工作原理与过程
1611.2WebService服务的工作原理与过程
172、WebService服务的工作过程基于“简单对象访问协议”(SOAP:SimpleObjectAccessProtocol)。这是一种基于XML的信息格式协议标准,用来在两个终端之间传递信息,如图11-3所示。这些信息以SOAP信封(envelope,类似于数据包)的方式在发送方和接收方之间传送。最简单最常用的是返回字符串、整数、日期、布尔值、小数等基本数据类型。也可以用它来返回一个数组或数组列表。还可以用来返回一个DataSet对象。甚至还可以用来返回一个类。11.2WebService服务的工作原理与过程
1811.3WebService服务的体系结构
19Web服务(也称为WebServices)是一种基于组件的软件平台,是面向服务的Internet应用,不再仅仅是由人阅读的页面,而是以功能为主的服务。WebServices由4部分组成,分别是Web服务(WebService)本身、服务的提供方(ServiceProvider)、服务的请求方(ServiceRequester)和服务注册机构(ServiceRegestry),其中服务提供方、请求方和注册机构称为WebServices的三大角色。这三大角色及其行为共同构成了WebServices的体系结构,如图11-4所示。11.3WebService服务的体系结构
2011.3WebService服务的体系结构
21服务提供方从商务观点看,服务提供方是服务的所有者;而从体系结构的角度看,是提供服务的平台。服务请求方与服务提供方类似,从商务观点看,服务请求方是请求某种特定功能的需求方;从体系结构的角度看,它是查询或调用某个服务的应用程序或客户端。服务注册机构是服务的注册管理机构,服务提供方将其所能提供的服务在此进行注册、发布,以便服务请求方通过查询和授权获取所需要的服务。为了实现图11-4这一体系结构,WebServices使用了一系列协议,主要成员包括SOAP、WSDL、UDDI。SOAP即简单对象访问协议(SimpleObjectAccessProtocol),它是用于交换XML编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。例如,可以使用SMTP,即因特网电子邮件协议来传递SOAP消息,这可是很有用的。在传输层之间的头是不同的,但XML有效负载保持相同。WSDL(WebServiceDefineLanguage,Web服务描述语言),定义了一种基于XML规范的用于描述Web服务的语言,就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述WebService及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。UDDI(UniversalDescriptionDiscoveryandIntegration,统一描述发现和集成)提供一种发布和查找服务描述的方法,目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为WebService提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的WebService注册,以使别的企业能够发现的访问协议的实现标准。11.3WebService服务的体系结构
2211.4创建Web服务案例
2311.4.1创建IIS站点11.4.2创建Web服务11.4.3测试Web服务11.4.4客户端使用Web服务通过上述四步,创建WebService服务11.4创建Web服务案例
2411.4创建Web服务案例
25Web11.4创建Web服务案例
26(5)选择“serve1”,选择“绑定”,选中服务器IP地址,如图11-8所示。11.4创建Web服务案例
27(6)选择“serve1”,选择“启动”,使网站启动工作。11.4创建Web服务案例
2811.4.2创建Web服务VisualStudio2010使用下面的步骤创建Web服务。(1)选择“文件”|“新建”|“网站”命令,打开“新建网站”对话框,如图11-9所示。依次完成第1步、第2步和第3步。(2)在图11-10中,选择本地IIS,分别完成第1步和第2步。如图11-10、11-11所示。11.4创建Web服务案例
29Web第1步,选择.NETFramework3.5第3步,点击“浏览”
第2步,选择ASP.NETWeb服务
11.4创建Web服务案例
30Web第1步,选择创建新虚拟目录
第2步,创建新虚拟目录
aa1
11.4创建Web服务案例
31Web11.4创建Web服务案例
32(3)最后点击“确定”,创建的WebService站点如图11-12所示。11.4创建Web服务案例
33(4)生成的WebSerice关建文件,Service.asmx文件如下:11.4创建Web服务案例
34usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Services;[WebService(Namespace="/")][WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]//若要允许使用ASP.NETAJAX从脚本中调用此Web服务,请取消对下行的注释。//[System.Web.Script.Services.ScriptService]publicclassService:System.Web.Services.WebService{publicService(){//如果使用设计的组件,请取消注释以下行//InitializeComponent();}[WebMethod]publicstringHelloWorld(){return"HelloWorld";}}
11.4创建Web服务案例
35产生的公有文件publicService(){},这是可调用的主文件。产生的方法:[WebMethod]publicstringHelloWorld(){return"HelloWorld";}
11.4创建Web服务案例
36
其中的函数HelloWorld(),就是通过公有文件publicService()可以调用的方法,用户还可按这个格式增添新的方法。例如,增添如下代码:
publicclassService:System.Web.Services.WebService{publicService(){//如果使用设计的组件,请取消注释以下行//InitializeComponent();}[WebMethod]publicstringHelloWorld(){return"HelloWorld";}[WebMethod]publicDoubleAdd(Doublea,Doubleb){return(a+b);}}系统增添了一个加法的方法,可供客户调用。11.4创建Web服务案例
3711.4.3测试Web服务ASP.NET为测试Web服务提供了内建的支持,它可以测试Web服务的方法,也可以自动生成返回Web服务的WSDL文件。为了测试刚才生成的Web服务,用户可以直接在VisualStudio2010的工具栏中选择[启动]按钮(也可以通过其他方法,读者可以试验),这时将显示如图11-13、11-14、11-15所示。11.4创建Web服务案例
3811.4创建Web服务案例
3911.4创建Web服务案例
4011.4创建Web服务案例
41从图中可以看到创建的Web服务,包含2个方法:HelloWorld和AddS。单击方法的链接将显示它们的测试页面,如图为Add方法的测试页面。11.4.4客户端使用Web服务
421、引用Web服务的方法创建Web服务的最终目的是为了使用。通常在如下三种应用中引用:(1)在Web应用中引用。(2)在Windows应用中引用。(3)Web服务自身引用。在VisualStudio2010中访问Web服务一般需要以下步骤:通过向网站中添加Web引用,VisualStudio2010自动创建Web服务的代理类。创建代理类的实例,然后通过调用代理对象的方法来访问Web服务。11.4创建Web服务案例
432、创建ASP.NETWeb应用程序的方法在ASP.NET中,引用Web服务的第1步是在VisualStudio.NET中添加Web引用。通过添加Web引用,VisualStudio.NET会创建Web服务的代理类。在网站中访问Web服务,就是访问代理类实例的过程。下面以一个实例演示引用Web服务的步骤。11.4创建Web服务案例
44例:建立一个Web应用程序,调用前面创建的Web服务中的方法Add(),实现加法运算。使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论