《Web Service》由会员分享,可在线阅读,更多相关《Web Service(42页珍藏版)》请在金锄头文库上搜索。
1、第一部分:J2EE概述,3、Web Service3.1 Web Service基本工作原理3.2 XML3.3 SOAP3.4 WSDL3.5 UDDI,3.1 Web Service基本工作原理1,Web Service 是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。简单来说:Web Service是基于XML和HTTPS(HTTP的安全版)的一种服务,其通信协议主要基于SOAP,服务的描述通过W
2、SDL,通过UDDI来发现和获得服务的元数据。,什么是Web ServicesWeb Services是一个崭新的分布式计算模型Web Services是一系列标准的集合SOAPWSDLUDDIWeb Services架构提供一个松散耦合的分布式计算环境,3.1 Web Service基本工作原理2,3,从外部使用者的角度来看WebService是一种跨编程语言和跨操作系统平台的远程调用技术所谓远程调用,就是一台计算机a上的一个程序可以调用到另外一台计算机b上的一个对象的方法,譬如,银联提供给商场的pos刷卡系统。远程调用技术有什么用呢?商场的POS机转账调用的转账方法的代码是在银行服务器上,
3、还是在商场的pos机上呢?,4,什么情况下可能用到远程调用技术呢?例如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以webservice服务的形式表现出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率。所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。,5,除了WebService外,常见的远程调用技术还有RMI(Remote method invoke)和CORBA,由于WebService的跨平台和跨编程语言特点
4、,因此比其他两种技术应用更为广泛,但性能略低。,Web Service的特征1,自描述Web服务的所有协议SOAP、WSDL、UDDI都基于XML完好的封装性使用者仅看到Web Service提供的功能列表松散耦合接口保持不变,就不影响使用者采用一种适合Internet环境的消息交换协议SOAP/XML使用标准协议规范使用开放的标准协议进行描述、传输和交换,高度可互操作性可以跨越平台、语言进行调用Web 服务是部署并提供通过 Web 访问业务功能的技术;J2EE、CORBA 和其它标准是实现 Web 服务的技术高度可集成能力Web 服务使应用程序的集成比以前更快、更容易而且更便宜提供一种一致化
5、编程模型,从而在企业内外都可以利用通用的基础设施并以一种通用的方法进行应用程序集成动态性可以自动发现服务并进行调用,Web Service的特征2,与Web Application比较,Web Service架构1,工作过程服务提供者定义 Web 服务的服务描述并把它发布到服务请求者或服务注册中心。服务请求者使用查找操作来从本地或服务注册中心检索服务描述。使用服务描述与服务提供者进行绑定并调用 Web 服务实现或同它交互。,Web Service架构2,Web Service基于SOA(Service Oriented Architecture)架构,三个角色:服务提供者(Service Pr
6、ovider)从企业的角度看,这是服务的所有者。服务请求者(Service Requestor)从企业的角度看,这是要求满足特定功能的企业。从体系结构的角度看,这是寻找并调用服务,或启动与服务的交互的应用程序。服务注册中心(Service Registry)对于静态绑定的服务请求者,服务注册中心是体系结构中的可选角色,三个基本操作发布(Publish)直接发布:服务提供者直接向服务请求者发送 WSDL 文档服务提供者还可以将描述服务的文档发布到主机本地 WSDL 注册中心、专用 UDDI 注册中心或 UDDI 运营商节点查找(Find):对于服务请求者,可能会在两个不同的生命周期阶段中牵涉到查
7、找操作:在设计时为了程序开发而检索服务的接口描述在运行时为了调用而检索服务的绑定和位置描述绑定/调用(Bind/Invoke)服务请求者使用服务描述中的绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服务的交互,Web Service架构3,Web 服务的构件服务服务是一个软件模块,它部署在由服务提供者提供的可以通过网络访问的平台上。当服务的实现中利用到其它 的Web 服务时,它也可以作为请求者。 服务描述服务描述包含服务的接口和实现的细节。其中包括服务的数据类型、操作、绑定信息和网络位置。服务描述可以被发布给服务请求者或服务注册中心。,Web Service架构4,程序员网校 www
8、.it315.org,WebService的工作过程,Web服务模型的元素,一种标准的方法,用来代表数据与消息,或者代表激活这些功能元素的调用一种标准的方法,用来描述Web服务完成的工作如何被所服务的用户理解一种标准的方法,用来发现Web服务的提供者,三种不同的技术,SOAPWSDLUDDI,3.2 XML-什么是 XML?,XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被预定义。您需要自行定义标签。 XML 被设计为具有自我描述性。 XML 是 W3C 的
9、推荐标准,XML 与 HTML 的主要差异,XML 不是 HTML 的替代。XML 和 HTML 为不同的目的而设计:XML 被设计为传输和存储数据,其焦点是数据的内容。HTML 被设计用来显示数据,其焦点是数据的外观。HTML 旨在显示信息,而 XML 旨在传输信息。,示例,说明:xm文档l由三部分组成1、文档序言(Prolog)2、文档主体(Body)3、文档尾声(Epilog)代码说明:头部""表示处理指令结束注意:xml必须小写version="1,0" 表示该文档采用的是XML1.0版本 ,可以用单引号括起来,他必须是XML之后的第一个属性注意
10、:version属性不能省略,encoding="gb2312" 表示该文档采用简体中文编码,采用哪种编码取决于你所用到的字符集注意:如果文档中使用的到中文,务必在文档中声明encoding="gb2312"""是文档的主体部分注意:标签必须是成对出现,有开始有结束“”,文档中只能只要一个根元素,实践例子,3.3 SOAP,SOAP定义SOAP组成SOAP协议的结构SOAP核心技术SOAP用例,SOAP定义,SOAP:简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换
11、结构化的和固化的信息。,SOAP组成1,SOAP 封装(envelop),它定义了一个框架,描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们;SOAP 编码规则(encoding rules),它定义了一种序列化的机制,用于表示应用程序需要使用的数据类型的实例;,SOAP组成2,SOAP RPC表示(RPC representation),它定义了一个协定,用于表示远程过程调用和应答;SOAP 绑定(binding),它定义了SOAP使用哪种协议交换信息。使用HTTP/TCP/UDP协议都可以。,SOAP协议的结构,SOAP 消息格式:SOAP 标头目前主要在web服务中
12、运用。,SOAP核心技术1,SOAP采用了已经广泛使用的两个协议:HTTP 和XML。-HTTP用于实现 SOAP 的RPC 风格的传输-XML 是它的编码模式即SOAP 通讯协议使用 HTTP 来发送XML 格式的信息,SOAP核心技术2,SOAP 消息基本上是从发送端到接收端的单向传输,但它们常常结合起来执行类似于请求 / 应答的模式。所有的 SOAP 消息都使用 XML 编码。一条 SOAP 消息就是一个包含有一个必需的 SOAP 的封装包,一个可选的 SOAP 标头和一个必需的 SOAP 体块的 XML 文档。,SOAP用例1,SOAP客户端使用UDDI注册来查找Web服务。客户端应用
13、程序创建SOAP消息。客户端把SOAP消息传送给监听SOAP请求的Web服务器上的JSP或ASP页面。,SOAP用例2,SOAP服务器解析SOAP包并在其领域调用合适的对象方法,在SOAP文档中包含的参数中传递。请求对象执行指示的功能,并返回数据给SOAP服务器,它把响应打包到SOAP封套中。客户端接收对象,剥离出SOAP封套并把响应文档发送给最初发出请求的程 序。,SOAP总结,SOAP是一种基于XML的协议,它用于在分布式环境中发送消息,并执行远程过 程调用。SOAP和 Web服务已为在XML上构建分布式应用程序基础结构所需的一切都考虑好了。SOAP是一种适用于所有类型的对象实体的理想的媒
14、介,3.4 WSDL-WSDL定义,WSDL(Web Service Description Language)Web服务描述语言是用XML文档来描述Web服务的标准,是Web服务的接口定义语言,可描述Web服务的三个基本属性:服务做些什么服务所提供的操作(方法) 如何访问服务和服务交互的数据格式以及必要协议服务位于何处协议相关的地址,如URL,WSDL基本元素1,Types - 数据类型定义的容器,它使用某种类型系统(一般地使用XML Schema中的类型系统)。 Message - 通信消息的数据结构的抽象类型化定义。使用Types所定义的类型来定义整个消息的数据结构。 Operation
15、 - 对服务中所支持的操作的抽象描述,一般单个Operation描述了一个访问入口的请求/响应消息对。,WSDL基本元素2,PortType - 对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个或多个服务访问点来支持。 Binding - 特定端口类型的具体协议和数据格式规范的绑定。 Port - 定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点。 Service- 相关服务访问点的集合。,WSDL基本元素3,所有的WSDL文档的根元素均是definitions元素。该元素封装了整个文档,同时通过其name提供了一个WSDL文档。除了提供一个命名空间外,该元素没
16、有其他作用。,3.5 UDDI-UDDI 定义,一套基于Web的分布式Web Service信息注册中心的实现标准规范,同时也包括一组访问协议的实现,使得企业能将自身的Web Service注册上去,并让别的企业能够发现并访问这些Web Service。创建UDDI注册中心的目的就是帮助企业发现并使用所需要的Web Service。 简单来说,它是一个基于XML的跨平台的描述规范,可以使世界范围内的企业在互联网上发布自己所提供的服务、发现自己所需要的服务。,UDDI 工作原理1,简单来说,UDDI的工作方式和邮局公开发行的电话黄页类似,它把特定企业的信息和Web Services在Internet上广而告之,并且提供具体的联系地址和方式。 UDDI商业注册中心(UDDI registry) 提供了一个机制,以一种有效的方式来浏览、发现Web Services 以及它们之间的相互作用.,