收藏 分销(赏)

Web服务:原理和技术描述Web服务.ppt

上传人:胜**** 文档编号:756869 上传时间:2024-03-05 格式:PPT 页数:32 大小:1,008.50KB
下载 相关 举报
Web服务:原理和技术描述Web服务.ppt_第1页
第1页 / 共32页
Web服务:原理和技术描述Web服务.ppt_第2页
第2页 / 共32页
Web服务:原理和技术描述Web服务.ppt_第3页
第3页 / 共32页
Web服务:原理和技术描述Web服务.ppt_第4页
第4页 / 共32页
Web服务:原理和技术描述Web服务.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、山东大学计算机学院第第5章:描述章:描述Web服务服务山东大学计算机学院学习目标学习目标l主要讨论Web服务描述语言(WSDL)版本1.1为何需要Web服务描述语言Web服务接口定义和Web服务实现这两者之间的差异在WSDL中定义Web服务接口和实现WSDL消息交换协定WSDL如何提供非功能性服务特性山东大学计算机学院目录目录l为何需要服务描述lWSDL:Web服务描述语言l使用WSDL生成客户端stublWSDL中的非功能性描述l小结山东大学计算机学院为何需要服务描述为何需要服务描述l为了开发基于服务的应用和业务处理(可能包含多个服务),需要以一致的方式来描述Web服务l对于实现SOA松耦合

2、,将服务提供者和服务请求者的应用集成在一起,减少定制程序的开发以及更好地理解相关知识,服务描述都是一个重要方面服务描述是一个机器可理解的规范,它描述了Web服务的结构、操作特性和非功能性特性服务描述规定了Web服务所使用的连线格式和传输协议服务描述能使用类型系统描述载荷数据服务描述可以包括元数据、行为属性以及策略描述山东大学计算机学院目录目录l为何需要服务描述lWSDL:Web服务描述语言WSDL的接口定义、实现、消息交换模式l使用WSDL生成客户端stublWSDL中的非功能性描述l小结山东大学计算机学院WSDL:Web服务描述语言服务描述语言l在一个特定的Web服务中使用SOAP将需要用到

3、一些文档这些文档以计算机所理解的标准格式说明SOAP消息的结构、所用的协议(例如HTTP)、所暴露的操作和它们的参数以及Web服务的互联网格式WSDL使得Web服务提供者以及这些服务的用户之间可以更容易地协作,从而更容易地实现SOAP所能带来的好处lWSDL是一个服务描述语言,用于描述Web服务所暴露的所有接口的详细信息l因此,WSDL是一种访问Web服务的方法l通过服务描述,服务提供者可以采用各种规范调用服务请求者所需的Web服务山东大学计算机学院WSDL:Web服务描述语言服务描述语言lWSDL是一个基于XML的规范操作,用于描述Web服务的公共接口公共接口可以包括与Web服务相关的操作信

4、息l诸如所有公开可用的操作、Web服务支持的XML消息协议、消息的数据类型信息、具体使用的传输协议的绑定信息、Web服务的地址信息等WDSL表示了服务请求者和服务提供者之间的“约定”lWSDL具有平台独立性和语言独立性lWSDL主要用于描述基于SOAP的服务l仅关心同时涉及双方的信息,不关心仅与其中一方相关的信息在WSDL中,服务请求者能够描述Web请求的基本格式或者编码山东大学计算机学院WSDL:Web服务描述语言服务描述语言lWSDL规范事实上分成两部分服务接口定义(抽象接口)l描述了通用的Web服务接口定义的结构。服务接口定义包含服务所支持的所有操作、操作参数和抽象数据类型服务实现定义(

5、具体端点)l将抽象接口绑定到具体的网络地址、具体的协议和具体的数据结构。Web客户端可以绑定到一个具体的实现并调用服务这两部分组合后包含了大量的信息,这些信息描述了服务请求者如何在服务提供者的节点上调用Web服务,以及服务请求者如何与Web服务交互山东大学计算机学院WSDL开发中涉及的选择问题开发中涉及的选择问题l在WSDL开发中,涉及几个设计方面的选择问题平台和语言的独立性l最重要的问题之一对于多协议、多编码模式和可扩充性的支持对于消息和RPC建模的统一支持操作的无顺序性山东大学计算机学院WSDL的接口定义的接口定义l服务客户端通过调用操作与Web服务进行交互,在Web服务接口中,可以将相关

6、的操作进行分组客户端不仅需要知道Web服务的接口和它所包含的操作,也必须知道使用何种协议将消息发送到服务中,并需要知道所使用的协议的具体机制l例如,命令、头部和出错代码的使用lWSDL指定了描述Web服务的语法和句法,可将Web服务描述为通信端点的集合山东大学计算机学院WSDL的接口定义的接口定义lWeb服务接口定义描述了消息、操作和端口类型,并且具体的描述保持了平台独立性和语言独立性Web服务接口定义被视为Web服务的抽象定义,不携带任何具体部署信息Web服务接口定义精确地描述了需要发送的消息的类型,以及如何应用各种Internet标准消息传送协议和编码模式,以便用与服务提供者的规范相兼容的

7、方式格式化消息服务接口定义是一种抽象的服务描述,可通过多个具体的服务实现加以实例化和引用山东大学计算机学院山东大学计算机学院WSDL的接口定义的接口定义lWSDL中,、元素描述了Web服务的抽象接口元素本质上是一个抽象接口,由和定义组成每一个定义描述了消息的有效载荷,这些消息既可以是由Web服务向外发送的消息,也可以是它所接受的消息消息由元素组成,每一个元素表示一个类型(类型化参数)的实例通过元素可以声明元素每一个元素都包含了许多定义,这些定义描述它的输入输出参数以及任何出错情况山东大学计算机学院简单的简单的WSDL接口定义接口定义山东大学计算机学院WSDL的实现的实现lWSDL的目的就是首先

8、抽象地定义Web服务,然后规定WSDL开发者如何实现这些服务服务的具体的实现层规定了如何实现服务的抽象定义WSDL的服务实现部分包含元素、和,并描述了服务提供者如何实现一个特定的服务接口服务实现描述了,为了调用Web服务,需要将消息发送到哪一个网络地址通过元素,服务实现文档可以包含对多个服务接口文档的引用山东大学计算机学院WSDL服务描述服务描述山东大学计算机学院WSDL的消息交换模式的消息交换模式lWSDL接口支持四类操作,表示了Web服务的最常见的交互模式lWSDL操作对应于两类基本的消息接收和发送版本一类是单个的消息接收传送操作和对应的发送操作(单向和通知操作)另一类是同步双向消息交换(

9、请求/响应和要求/响应)山东大学计算机学院WSDL消息交换模式概要消息交换模式概要山东大学计算机学院目录目录l为何需要服务描述lWSDL:Web服务描述语言l使用WSDL生成客户端stublWSDL中的非功能性描述l小结山东大学计算机学院使用使用WSDL生成客户端生成客户端stubl大多数Web服务开发者不需要直接和基础设施打交道,有许多Web服务开发工具箱可以帮助处理这些任务对于服务请求者和提供者,当前有许多工具自动将WSDL映射到编程语言lAxis提供的WSDL2Java:可以使用Axis编写Java代码,并可将返些代码部署为Web服务山东大学计算机学院使用使用WSDL生成客户端生成客户端

10、stubl通过集成一些可用的Web服务,开发人员可以在应用中实现Web服务逻辑,且无须从头开始开发新的应用代理类使得这一方法成为可能l通过代理类,开发者可以引用远程Web服务,并可在本地应用中调用那些Web服务所提供的功能,那些Web服务所返回的数据就好像是本地生成的l代理类(或桩类)是实现Web服务的远程(提供者)对象类的客户端映像在分布式计算环境中,在服务器端与返些代理类对应的类通常称为骨架l代理类与远程类实现的是同样的接口l代理类会将在本地实例上被调用的方法转发到对应的远程实例(骨架)山东大学计算机学院山东大学计算机学院WSDL代码生成器代码生成器lWSDL非常适合代码生成器代码生成器能

11、够理解WSDL定义,并可生成访问Web服务的编程接口l例如,JAX-RPC提供者可以使用WSDL 1.1生成Java RMI接口和网络桩,其中网络桩用于与Web服务接口交换消息lWSDL代码生成器工具可自动创建Web服务、自动生成WSDL文件以及自动调用Web服务基于WSDL规范,工具箱软件可生成服务实现模板代码通过使用这些模板代码,以及利用具体应用的实现细节,开发者可以更快地创建Web服务山东大学计算机学院代理类与代理类与Web服务之间的通信服务之间的通信l1、客户端应用在代理类中执行调用,并将任何所需的变量传递给代理类,并且无须知道代理实际上是在调用一个远程Web服务l2、代理接受调用,然

12、后基于客户端应用所提供的参数,按一定的格式生成服务请求l3、将调用从代理跨网络传输到Web服务l4、Web服务基于代理所提供的参数执行相关服务操作,并用XML表示请求处理的结果l5、Web服务将结果数据返回给客户端代理l6、代理对于从Web服务返回的数据进行解析,从而获取各个数据值。这些值既可以是简单数据类型,也可以是复杂数据类型l7、应用从代理操作中接收这些标准格式的数值,并且完全无须知道这些结果实际上是通过Web服务调用获取的山东大学计算机学院山东大学计算机学院目录目录l为何需要服务描述lWSDL:Web服务描述语言l使用WSDL生成客户端stublWSDL中的非功能性描述l小结山东大学计

13、算机学院WSDL中的非功能性描述中的非功能性描述l对于任何Web服务,非功能性特性都是重要的有机组成部分之一Web服务平台能够支持具有不同QoS需求的、多种不同类型的应用l对于启用QoS的Web服务来说,需要一种单独的语言来描述Web服务的非功能性特性描述Web服务非功能性特性的最常用方法是WS-Policy和WS-PolicyAttachmentWeb服务策略框架对于服务提供了附加的描述层,并提供了一种声明策略语言可使用声明策略语言来表示策略或对策略进行编程l通过策略语言,可以描述Web服务驻留环境的特性,包括提供者端点的安全特性(包括认证和授权)、事务行为、QoS的等级、提供者所提供的保护

14、质量、提供者所遵循的隐私策略、具体应用服务的选项、针对特定服务域的能力与约束山东大学计算机学院WSDL中的非功能性描述中的非功能性描述l就涉及QoS的Web服务而言,需要对服务接口规范进行扩充,在服务接口规范中添加一些有关QoS的语句这些QoS语句可以关联到整个接口,或者关联到单个的操作和属性WS-PolicyAttachment提供了一种灵活的方式,可将策略表达与已有的或未来的Web服务关联起来山东大学计算机学院目录目录l为何需要服务描述lWSDL:Web服务描述语言l使用WSDL生成客户端stublWSDL中的非功能性描述l小结山东大学计算机学院小结小结l服务描述语言是一个基于XML的语言

15、,它描述了和特定Web服务之间的交互机制,并且使用该语言可以约束服务提供者以及使用服务的所有请求者lWeb服务描述语言是一个基于XML的规范模式,提供了一个标准的服务表示语言,可用于描述Web服务所暴露的公共接口细节lWSDL的服务实现部分描述了一个特定的服务提供者如何实现一个具体的服务接口lWSDL规定了服务的句法签名,但是对于非功能性服务方面并没有进行任何规定山东大学计算机学院小结小结l当前,W3C正忙于对WSDL进行标准化虽然在本书中将使用WSDL 1.1,该标准也是实际标准,但是W3C目前正在制定新的WSDL标准WSDL 2.0lWSDL 2.0在若干方面都进行了改进,包括语言的澄清说明和简化,以及对于互操作性的支持,因此开发人员可以更容易地了解和描述服务最近,WSDL 1.2定义也已经在一些方面进行了修改l也支持一些有用的新特性可以预测,由于工具和运行时环境的原因,还需一段较长的时间,WSDL2.0才能全面取代WSDL 1.1山东大学计算机学院谢谢!谢谢!

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 计算机应用

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服