xfire学习报告

xfire学习报告

ID:37904529

大小:391.50 KB

页数:20页

时间:2019-06-02

xfire学习报告_第1页
xfire学习报告_第2页
xfire学习报告_第3页
xfire学习报告_第4页
xfire学习报告_第5页
资源描述:

《xfire学习报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1WebService简介1.1什么是WebService?从表面上看,Webservice就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Webservice的应用程序叫做客户。另一种更精确的解释:Webservices是建立可互操作的分布式应用程序的新平台。Webservice平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Webservice,只要

2、我们可以通过Webservice标准对这些服务进行查询和访问。Webservice平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作性,Webservice平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。在传统的分布式系统中,基于界面(interface)的平台提供了一些方法来描述界面、方法和参数(译注:如COM和COBAR中的IDL语言)。同样的,Webservice平台也必须提供一种标准来描述Webservice,让

3、客户可以得到足够的信息来调用这个Webservice。最后,我们还必须有一种方法来对这个Webservice进行远程调用。这种方法实际是一种远程过程调用协议(RPC)。为了达到互操作性,这种RPC协议还必须与平台和编程语言无关。1.2WebService用到的技术为了实现平台无关,实现独立的访问Web服务,业界制定了一系列技术标准,下面是一些重要的技术:1.XML可扩展的标记语言(XML)是Webservice平台中表示数据的基本格式。它的内容与表示的分离十分理想,除了易于建立和易于分析外,XML主要的

4、优点在于它既是平台无关的,又是厂商无关的。无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。2.SOAPWeb东软软件股份有限公司电信事业部service建好以后,你或者其他人就会去调用它,简单对象访问协议(SOAP)提供了标准的RPC方法来调用Webservice,SOAP规范定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP,SOAP也是基于XML,XML是SOAP的数据编码方式。1.WSDL你会怎样向别人介绍你的Webservice有什么功能,以及每个函数

5、调用时的参数呢?你可能会自己写一套文档,你甚至可能会口头上告诉需要使用你的Webservice的人。这些非正式的方法至少都有一个严重的问题:当程序员坐到电脑前,想要使用你的Webservice的时候,他们的工具(如VisualStudio)无法给他们提供任何帮助,因为这些工具根本就不了解你的Webservice。解决方法是:用机器能阅读的方式提供一个正式的描述文档。Webservice描述语言(WSDL)就是这样一个基于XML的语言,用于描述Webservice及其函数、参数和返回值。因为是基于XML的

6、,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Webservice生成WSDL文档,又能导入WSDL文档,生成调用相应Webservice的代码。东软软件股份有限公司电信事业部1用XFire进行WebService开发1.1XFire简介在架构上可以把XFire大概分为Service,Transport和Invoker三个层面。Service层是XFire架构的静态基础,负责完成对服务的注册及其管理。核心的ServiceRegistry接口完成对服务

7、自身的生命期管理,如注册/注销/获取等等;而ServiceFactory接口则负责从具体的POJO类型,生成实现 Service接口的可被管理的服务代理。Transport层则是XFire的外部IO处理系统。由TransportManager接口对具体的东软软件股份有限公司电信事业部Transport接口实现进行管理,默认提供了基于pipe的LocalTransport和基于Http协议的SoapHttpTransport。理论上可以任意进行扩展,例如XFire发布包中还提供了基于JMS和XMPP的实现

8、。Invoker则是XFire的动态调用层,负责在Transport层接受到请求后,解析内容、调用合适服务并最终返回SOAP封包给调用者。运行时Invoker负责维系Service和Transport之间的联系。因此一个服务的生成和注册往往类似如下代码:[code]Serviceendpoint=serviceFactory.create(clazz);//根据具体类型创建服务XFire.getServiceRegistry().regis

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。