第4章Web服务(上).ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第4章Web服务(上).ppt》由会员分享,可在线阅读,更多相关《第4章Web服务(上).ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 Web服务服务(上)(上)课程目标课程目标q 分布式计算和分布式计算和Web服务的概念服务的概念q Web服务详细介绍:体系结构、服务详细介绍:体系结构、Web Services技术技术q 如何创建和访问如何创建和访问Web服务服务q Web服务描述语言和服务描述语言和WSDL文件简单介文件简单介绍绍体验项目体验项目 通过通过ASP.NET技术实现了一个网络计算器。程序的计算页面如下图所技术实现了一个网络计算器。程序的计算页面如下图所示示:在操作数对话框中输入操作数后,点击相应的运算,如点击在操作数对话框中输入操作数后,点击相应的运算,如点击“加加”按按钮进行加法运算。程序运行效
2、果如下图所示:钮进行加法运算。程序运行效果如下图所示:分布式计算和分布式计算和Web服务服务 随着随着.Net平台的推出,平台的推出,Web Services(网络服务)受到人们的极大关注。(网络服务)受到人们的极大关注。假如有一个站点向其它站点提供本站的在线新闻,而这些新闻均储存在假如有一个站点向其它站点提供本站的在线新闻,而这些新闻均储存在数据库中。如果其它站点需要共享这个站点的新闻,就必须让他们有权数据库中。如果其它站点需要共享这个站点的新闻,就必须让他们有权力访问该站点的数据库,但是访问的权限有限不可能先将数据库密码力访问该站点的数据库,但是访问的权限有限不可能先将数据库密码公布于众,
3、然后让其它站点通过常规的方法来访问该数据库。公布于众,然后让其它站点通过常规的方法来访问该数据库。而而Web Services技术就可以很好的解决这种问题,只要在服务器上启用技术就可以很好的解决这种问题,只要在服务器上启用Web Services服务,在服务程序中设置访问数据库的各项操作,其它站点服务,在服务程序中设置访问数据库的各项操作,其它站点就可以通过就可以通过Web Services客户接口来访问这个客户接口来访问这个Web Services程序,以达到程序,以达到访问数据库的目的。访问数据库的目的。面向服务的体系结构(面向服务的体系结构(SOA)SOA是英文是英文Service-Or
4、iented Architecture,即面向服务架构的缩写。,即面向服务架构的缩写。SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。本质上说,本质上说,SOA体现的是一种新的系统架构。在基于体现的是一种新的系统架构。在基于SOA架构的系统中,架构的系统中,具体应用程序的功能是由一些松耦
5、合并且具有统一接口定义方式的组件具体应用程序的功能是由一些松耦合并且具有统一接口定义方式的组件(也就是(也就是service)组合构建而成的。可以说)组合构建而成的。可以说SOA的出现,将为整个企业的出现,将为整个企业级软件架构设计带来了巨大的影响。级软件架构设计带来了巨大的影响。分布式计算分布式计算 在进化链中的第二步是分布式计算,分布式计算允许不同的应用程序彼在进化链中的第二步是分布式计算,分布式计算允许不同的应用程序彼此进行通信(即使位于不同的计算机上也是如此)。此进行通信(即使位于不同的计算机上也是如此)。CORBA、MTS和和Enterprise Java Bean(EJB)等技术提
6、供了包含各种类别的注册中心的)等技术提供了包含各种类别的注册中心的系统,因此应用程序可以找到其希望与之进行交互的组件,然后像调用系统,因此应用程序可以找到其希望与之进行交互的组件,然后像调用本地组件一样调用这些组件。本地组件一样调用这些组件。但仍然有一个问题。虽然系统可以自由地与系统内的任何对象进行通信,但仍然有一个问题。虽然系统可以自由地与系统内的任何对象进行通信,但仍然是一个封闭的系统。至少,客户机应用程序必须与服务器应用程但仍然是一个封闭的系统。至少,客户机应用程序必须与服务器应用程序使用相同的技术。另外,通常并不会将系统设计为从创建它的个体组序使用相同的技术。另外,通常并不会将系统设计
7、为从创建它的个体组织外进行访问。织外进行访问。Web 服务服务 此进化链中下一个几乎不可避免的链接点就是此进化链中下一个几乎不可避免的链接点就是Web服务。服务。“Web服务服务”基基于于XML和和HTTP(大多数情况下),对很多人具有不同的含义。但在此(大多数情况下),对很多人具有不同的含义。但在此处,我们要将处,我们要将Web服务作为系统间基于服务作为系统间基于SOAP(Web服务交换消息的标准服务交换消息的标准协议)的消息交换进行讨论。协议)的消息交换进行讨论。基于基于SOAP的的Web服务将要发送类似如下的服务将要发送类似如下的XML消息:消息:classifieds这些消息将从一个系
8、统进入另一个系统(通常通过这些消息将从一个系统进入另一个系统(通常通过HTTP)。接收系统)。接收系统对消息进行解释,进行相应的处理,然后发送另一个对消息进行解释,进行相应的处理,然后发送另一个SOAP消息作为响消息作为响应。应。什么是什么是Web服务服务 Web服务简介服务简介.NET平台提供了一种运行环境,即公用语言运行环境(平台提供了一种运行环境,即公用语言运行环境(CLR,Common Language Runtime)。对)。对CLR来说,它提供了一种内置机制来创建一个来说,它提供了一种内置机制来创建一个可编程的站点,对于可编程的站点,对于Web程序开发者和程序开发者和VB程序员而言
9、,对于这种机制是程序员而言,对于这种机制是非常熟悉的。这种模型可以重用,同时也具有良好的可扩展性。它包含非常熟悉的。这种模型可以重用,同时也具有良好的可扩展性。它包含了开放的了开放的Internet标准(标准(HTTP,XML,SOAP,SDL),以便能够被网页),以便能够被网页浏览者所访问。浏览者所访问。ASP.NET使用使用.asmx文件来对文件来对Web Services进行支持。进行支持。.asmx文件和文件和.aspx文件一样都同属于文本文件,它被包含在文件一样都同属于文本文件,它被包含在.aspx文件之中,成为文件之中,成为ASP.NET应用程序中的一部分。应用程序中的一部分。WE
10、B SERVICES Web Services就是个对外的接口,提供可供外部客户调用的函数(注意:就是个对外的接口,提供可供外部客户调用的函数(注意:里面同样有客户不可调用的函数)。假若存在一个服务端,它包含有我里面同样有客户不可调用的函数)。假若存在一个服务端,它包含有我们写好的们写好的Web Services,然后把它发布到服务器上以供客户端调用(同,然后把它发布到服务器上以供客户端调用(同时我们给了他们调用规则),客户端可以在从服务端获取信息时处于一时我们给了他们调用规则),客户端可以在从服务端获取信息时处于一种相对透明的状态。种相对透明的状态。Web Services传递的数据只能是序
11、列化的数据,典型的如传递的数据只能是序列化的数据,典型的如XML数据。数据。Web Services是描述一组操作的接口,这些操作可以通过标准的是描述一组操作的接口,这些操作可以通过标准的XML消息在网络上进行访问。消息在网络上进行访问。Web Services可看作是一些模块化的应用程序,这些应用程序能够可看作是一些模块化的应用程序,这些应用程序能够在在Web上描述、发布、定位和调用。上描述、发布、定位和调用。Web Services描述了一种重要的分布式计算模型描述了一种重要的分布式计算模型。它更加强调基于单。它更加强调基于单个个Internet标准来解决异构的分布式计算问题。标准来解决异
12、构的分布式计算问题。Web Services并不倾向于特定的编程语言和系统平台。并不倾向于特定的编程语言和系统平台。Web服务体系结构服务体系结构 Web服务技术的服务技术的SOA架构图架构图 服务提供者(服务提供者(Service provider):对外提供服务,并且通过注册来发布服):对外提供服务,并且通过注册来发布服务信息。它能够创建抽象的服务定义,并将它发布到服务注册器中。务信息。它能够创建抽象的服务定义,并将它发布到服务注册器中。服务注册器(服务注册器(Service broker):提供服务的发布和定位功能。):提供服务的发布和定位功能。服务请求者(服务请求者(Service r
13、equester):通过服务代理查询所需服务,并通过):通过服务代理查询所需服务,并通过服务提供者绑定服务。服务请求者可以使用一套查询机制来从服务注册服务提供者绑定服务。服务请求者可以使用一套查询机制来从服务注册器中找到器中找到WSDL文件。文件。Web Services是构建是构建SOA的一种方式。的一种方式。SOA是一种架构方法,它能够将是一种架构方法,它能够将各种异构应用集成起来并组成更大的分布式应用,最后通过服务接口的各种异构应用集成起来并组成更大的分布式应用,最后通过服务接口的形式来将整个应用支撑起来。形式来将整个应用支撑起来。ASP.NET Web服务的创建和访问服务的创建和访问
14、简单的服务:简单的服务:XML Web服务实现的最基本的方案是提供一些基本的服务实现的最基本的方案是提供一些基本的功能模块以供客户端使用。功能模块以供客户端使用。应用程序集成应用程序集成:使用:使用XML Web服务以一种集成的方式整合表面上看服务以一种集成的方式整合表面上看上去完全不同的现有应用程序。上去完全不同的现有应用程序。工作流程解决方案工作流程解决方案:XML Web服务能够提供给应用程序一个非常强服务能够提供给应用程序一个非常强大的机制,创建端对端的工作流程解决方案。这样的解决方案适于商大的机制,创建端对端的工作流程解决方案。这样的解决方案适于商务到商务交易的长期运行的情景。务到商
15、务交易的长期运行的情景。XML Web服务是一个提供特别功能元素的可编程实体,比如应用程序逻服务是一个提供特别功能元素的可编程实体,比如应用程序逻辑,同时它还可以通过普遍存在的辑,同时它还可以通过普遍存在的Internet标准(例如标准(例如XML和和HTTP)来)来访问完全不同的系统。访问完全不同的系统。XML Web服务依赖于对服务依赖于对XML和其它因特网标准的和其它因特网标准的广泛接受,使用它们来创建支持应用程序互操作性的基础结构,从而解广泛接受,使用它们来创建支持应用程序互操作性的基础结构,从而解决了许多过去阻碍互操作性的问题。决了许多过去阻碍互操作性的问题。使用使用ASP.NET开
16、发一个开发一个XML Web服务从下面三步开始:服务从下面三步开始:(1)创建一个带有)创建一个带有.asmx扩展名的文件。扩展名的文件。(2)在这个文件里中,使用一条指令声明)在这个文件里中,使用一条指令声明XML Web服务。服务。(3)定义组成)定义组成XML Web服务功能的服务功能的XML Web服务方法。服务方法。当使用当使用ASP.NET构造一个构造一个XML Web服务时,它自动支持客户端使用服务时,它自动支持客户端使用SOAP、HTTP-GET和和HTTP-POST通讯协议。即使通讯协议。即使HTTP-GET和和HTTP-POST支持使用支持使用URL编码的变量名编码的变量名
17、/变量值对来传递消息,支持变量值对来传递消息,支持这两个协议的数据类型也没有支持这两个协议的数据类型也没有支持SOAP协议的数据类型丰富。协议的数据类型丰富。在在SOAP中,使用中,使用XML把数据传送到把数据传送到XML Web服务或从服务或从XML Web服务服务取回消息,可以使用支持丰富的数据类型集的取回消息,可以使用支持丰富的数据类型集的XSD模式定义复杂的数据模式定义复杂的数据类型。类型。ASP.NET处理定义到一个处理定义到一个XSD模式的映射类和到模式的映射类和到XML数据的映数据的映射对象的实例,以便通过网络传输。射对象的实例,以便通过网络传输。声明一个声明一个XML Web服
18、务服务(1)需要把所需的)需要把所需的_WebService指令放到指令放到.asmx文件的最顶端。文件的最顶端。.asmx文文件的存在和件的存在和_WebService指令与所实现的指令与所实现的XML Web服务的服务的URL地址相地址相关。关。(2)实现)实现XML Web服务类来定义服务类来定义XML Web服务客户端可见的方法和数服务客户端可见的方法和数据类型。据类型。(3)把)把XML Web服务逻辑添加到那些方法上,以便处理服务逻辑添加到那些方法上,以便处理XML Web服务服务请求及其返回的响应。请求及其返回的响应。当使用当使用ASP.NET创建一个创建一个XML Web服务时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 Web服务上 Web 服务
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内