- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Web Service的概念及其实现作者:yi5????转贴自:yi5_yuyu????点击数:152????文章录入: yuyu3007
概述本文介绍了Web?Service的一些重要概念以及一个Web?Service的实现-Apache组织推出的Axis。Web?Service的定义Web?Service是描述一组操作的接口,这些操作可以通过标准的XML消息在网络上进行访问。可以这样理解上面的定义:Web?Service可看作是一些模块化的应用程序,这些应用程序能在Web上描述、发布、定位和调用。Web?Service的体系结构Web?Service的体系结构是面向服务的体系结构(SOA)。附件:1112083671836-1.jpg(29K)?附件是面向服务的体系结构(SOA)从图1可以看出,SOA结构中共有三种角色:?Service?provider(服务提供者):对外提供服务,并且通过注册来发布服务信息?Service?broker(服务代理):提供服务的发布和定位功能?Service?requester(服务请求者):通过服务代理查询所需服务,并通过服务提供者绑定服务Web?Service使用的协议和规范Web?Service通过哪些协议和规范来描述、发布、定位和调用服务呢?我们可以通过下面的Web?Service互操作协议栈结构图表得知:????Web?Service互操作协议栈??????服务发现?(UDDI)???????????????????????????????服务描述(WSDL)???????????????????????????????服务调用(SOAP)???????????????????????????????消息编码?(XML)???????????????????????????????传输网络层(HTTP,?TCP/IP)????????上图:Web?Service互操作协议栈结构服务发现:通过UDDI规范提供用于描述某项服务的商业结构,包括业务、服务和技术规范三个部分。服务描述:描述服务提供的功能和调用方法信息,通过WSDL规范提供。服务调用:使用SOAP协议在服务提供者和服务请求者之间传递SOAP消息来调用Web服务,SOAP定义了请求和响应消息的格式,SOAP建立在XML之上,定义了一种跨系统平台的信息交换的简单包装方法。绑定于HTTP之上的SOAP协议,可以跨语言、跨操作系统进行远程过程调用(RPC),实现了编程语言和系统平台的无关性。消息编码:SOAP用XML将消息编码,XML提供了跨平台的数据库编码和组织方法。传输网络层:采用了Web上广泛使用的HTTP协议传输消息,适应Internet环境,能顺利通过代理和防火墙(理论上可以采用其它协议,如SMTP、FTP)。SOAP简介SOAP是一个应用程序间的基于XML的通信工具和规范。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架;将程序对象编码成为XML对象的规则;执行远程过程调用(RPC)的约定。Axis的概念Axis总体上是一个SOAP引擎,它提供了创建SOAP客户机、服务器端、网关SOAP的基本框架。Axis是SOAP的后续版本(该项目的前身是IBM的“SOAP4J”),我介绍的Axis版本是Axis?1.1?for?Java版,这个版本是java的Web?Service实现。Axis除了提供SOAP引擎之外,它还是一个可插入到servlet引擎中的独立的服务器,并且还提供了以下工具:将WSDL转化为java类的工具和一个TCP/IP数据包监视工具。Axis?1.1?for?Java版本相比它的以前版本有了重大的改进,这些改进让Axis灵活性更好、管理更方便、同时支持SOAP和W3C中XML的新规范,Axis?1.1?for?Java提供了以下重要特性:1?速度提高Axis?1.1?for?Java版本使用了SAX(事件驱动)来解析XML文档。2?灵活Axis?1.1?for?Java版允许用户灵活地定制扩展Axis的功能,用户可以加入他们想要增加的任何特性:个性化的信息头处理、扩展的系统管理和其他特性。3?稳定性提高Axis中定义了一套稳定的发布接口(publicshed?interface),他们不会随着axis的更新而更新,除非相关的标准发生了改变,这样减少了axis新发布版本中发生重构时对用户的影响。比如axis中处理JAVA-RPC的接口就是一套稳定的发布接口,它支持Java-RPC1.1规范,除非Java-RPC规范发生改变,否则这些接口都不会发生变化。
文档评论(0)