Web Service修炼之一XFire入门
一、XFire知识
1、Web Service架构
web Service是独立的、模块化的应用,能够通过因特网来描述、发布、定位以及调用。在Web Service的体系架构中包括三个角色:服务提供者(Service Provider)、服务请求者(Service Requestor)、服务注册器(Service Registry)。角色间主要有三个操作:发布(Publish)、查找(Find)、绑定(Bind)。
2、Web Service协议标准
简单对象访问协议(SOAP)
SOAP是Simple Object Access Protocol的缩写,是一种基于XML的不依赖传输协议的表示层协议,用来在分散或分布式的应用程序之间方便地以对象的形式交换数据。在SOAP的下层,可以是HTTP/HTTP,也可以是SMTP/POP3,还可以是为一些应用而专门设计的特殊的通信协议。
SOAP包括三个主要部分:
SOAP封装结构:定义了一个整体框架,以表示消息中包含什么内容,谁来处理这些内容以及这些内容是可选的或是必需的。
SOAP编码规则:定义了用以交换应用程序定义的数据类型的实例的一系列机制。
SOAP RPC表示:定义了一个用来表示远程过程调用和应答的协定。
Web Service描述语言(WSDL)
WSDL是Web Service Des cription Language的缩写,该语言将网络服务定义成一个能交换消息的通信端点集,为分布式系统提供了帮助文档,同时也可作为自动实现应用间通信的解决方案。
统一描述、发现和集成协议(UDDI)
UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
3、XFire 概述
XFire 是 codeHaus 组织提供的一个开源框架,它构建了 POJO 和 SOA 之间的桥梁,主要特性就是支持将 POJO 通过非常简单的方式发布成 Web 服务,这种处理方式不仅充分发挥了 POJO 的作用,简化了 Java 应用转化为 Web 服务的步骤和过程,也直接降低了 SOA 的实现难度,为企业转向 SOA 架构提供了一种简单可行的方式。
XFire 目前最新的版本是 1.2.6,目前支持的特性主要包括:
· 支持将 Web 服务绑定到 POJO、XMLBeans、JAXB1.1、JAXB2.0 和 Castor;
· 支持基于 HTTP、JMS、XMPP 等多种协议访问 Web 服务;
· 支持多种 Web 服务业界重要标准如 SOAP、WSDL、Web 服务寻址(WS-Addressing)、Web 服务安全(WS-Security)等;
· 支持 JSR181,可以通过 JDK5 配置 Web 服务;
· 高性能的 SOAP 实现;
· 服务器端、客户端代码辅助生成;
· 对 Spring、Pico、Plexus 等项目的支持等。
4、XFire优点
XFire是与Axis2 并列的新一代WebService平台。之所以并称为新一代,因为它:
1、支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security等;
2、使用Stax解释XML,性能有了质的提高。XFire采用Woodstox 作Stax实现;
3、容易上手,可以方便快速地从pojo发布服务;
4、Spring的结合;
5、灵活的Binding机制,包括默认的Acegis,xmlbeans,jaxb2,castor。
XFire与Axis1性能的比较
1、XFire比Axis1.3快2-6倍
2、XFire的响应时间是Axis1.3的1/2到1/5
5、XFire与Axis2比较
虽然XFire与Axis2都是新一代的WebService平台,但是Axis2的开发者太急于推出1.0版本,所以1.0还不是一个稳定的版本,它的开发者宣称1.1版本即将推出,希望1.1版本会是个稳定的版本。在XFire捐献给apache后有人认为Axis2将会灭亡。其实在很多人眼里,Axis2并不是pojo形式,现在也好象XFire比Axis更有市场,也有很多人开始从Axis转向XFire。
据说,XFire确实比Axis2简单很多
AXIS VS CXF
在SOA领域,我们认为Web Service是SOA体系的构建单元(building block)。对于作过WebService的开发人员来说,AXIS和CXF一定都不会陌生。这两个产品都是Apache孵化器下面的Web Service开源开发工具。 Axis2的最新版本是1.3,CXF现在已经到了2.0版本。
这两个框架 都是从已有的开源项目发展起来的。Axis2是从Axis1.x系列发展而来。CXF则是XFire和Celtix项目的结合产品。Axis2是从底层全部重新实现,使用了新的扩展性更好.
通过一个比较矩阵来比较Axis2和CXF变得有现实的意义。这两个项目都开发不够成熟,但是最主要的区别在以下几个方面:
1. CXF支持 WS-Addressing,WS-Policy, WS-RM, WS-Security和WS-I Basic Profile。Axis2不支持WS-Policy,但是承诺在下面的版本支持。
2. CXF可以很好支持Spring。Axis2不能
3.AXIS2支持更广泛的数据并对,如XMLBeans,JiBX,JaxMe和JaxBRI和它自定义的数据绑定ADB。注意JaxME和JaxBRI都还是试验性的。CXF只支持JAXB和Aegis。在CXF2.1
4. Axis2支持多语言-除了Java,他还支持C/C++版本。
Axis2允许自己作为独立的应用来发布Web Service,并提供了大量的功能和一个很好的模型,这个模型可以通过它本身的架构(modular architecture)不断添加新的功能。有些开发人员认为这种方式对于他们的需求太过于繁琐。这些开发人员会更喜欢CXF。
CXF更注重开发人员的工效(ergonomics)和嵌入能力(embeddability)。大多数配置都可以API来完成,替代了比较繁琐的XML配置文件, Spring的集成性经常的被提及,CXF支持Spring2.0和CXF's API和Spring的配置文件可以非常好的对应。CXF强调代码优先的设计方式(code-first design),使用了简单的API使得从现有的应用开发服务变得方便。
建议:如果你需要多语言的支持,你应该选择AXIS2。如果你需要把你的实现侧重JAVA并希望和Spring集成,CXF就是更好的选择,特别是把你的Web Service嵌入其他的程序中。如果你觉得这两个框架的新特性对于你并没有太大的用处,你会觉得Axis1也是不错的选择,你应该继续使用它知道你有充分的理由去更换它。
相关推荐
【标题】"Web Service修炼之一XFire入门3" 在Web服务的世界中,XFire是一个曾经广泛应用的开源框架,它使得开发、部署和消费Web服务变得简单。本篇内容将聚焦于XFire的基础知识,帮助初学者理解如何使用XFire进行...
在“Web Service 之 XFire入门”这篇文章中,博主可能还会分享如何通过实例代码来演示这些步骤,例如创建一个名为“helloworld”的简单服务,这个服务可能只有一个返回“Hello, World!”的函数。这样的例子有助于...
XFire 入门 web service.wpsXFire 入门 web service.wpsXFire 入门 web service.wps
【XFire Web Service 入门】 XFire 是一个开源的、高性能的Java Web Service框架,它简化了创建和消费Web服务的过程。XFire在早期是Apache CXF的一部分,后来并入了CXF项目,提供了丰富的功能,包括SOAP、WS-*协议...
在"xfire开发Web Service接口第一个程序"这个文件中,你可能会找到一个简单的示例,展示如何创建一个计算两个数相加的Web Service。这个例子可能包括定义服务接口、实现接口、配置服务以及启动服务的步骤。通过分析...
总之,Xfire是学习Web服务的一个良好起点,尤其是对于初学者来说,结合“Web_Service学习手册(Xfire)”和源码,你可以快速建立起Web服务开发的基础。随着对Xfire的深入理解,你还可以进一步探索更高级的特性,如WS-...
【使用XFire+Spring构建Web Service】是一种高效且灵活的方法,尤其适合于那些希望利用Spring框架的优秀特性来开发Web Service应用的开发者。XFire是一个先进的Web Service框架,与Axis2并列为新一代的选择,因其...
《Web Service学习手册(Xfire)》是一本深入探讨Web Service技术的专业资料,配合"xfire_1.147_zol.zip"压缩包中的资源,为读者提供了丰富的学习材料。Web Service是Java领域中的一项重要技术,它允许不同系统间的...
在XFire中创建一个Web Service实例,首先需要定义一个Java接口或类,该接口或类代表要暴露的服务。接着,使用XFire的API或注解来标记这个接口或类,声明它是一个Web服务。然后,通过XFire的ServerFactoryBean创建并...
Xfire(现更名为CXF)是Java平台上一个流行的开源框架,用于构建和部署Web服务。作为一个初学者,理解如何使用Xfire来实现Web服务是非常基础且重要的一步。下面将详细介绍Xfire实现Web服务的基础知识。 首先,我们...
本教程将深入探讨如何使用XFire来实现一个基础的Web服务入门实例,并通过源码分析来增进理解。 首先,我们要明白Web服务的基本概念。Web服务基于开放标准,如SOAP(Simple Object Access Protocol)、WSDL(Web ...
1.3.3 CXF:CXF是另一个流行的开源Web Service框架,它结合了Xfire和Apache SOAP项目的优点,支持多种Web Service规范,并且可以与Spring框架无缝集成。 1.3.4 主流 Web Service 的比较 Axis适合初学者,因为它的...
【Web Service + Xfire 入门】 Web Service是一种基于开放标准的、允许应用程序之间进行交互的方式,它使得不同系统能够共享数据和服务。Xfire是一款基于Java的SOAP(Simple Object Access Protocol)框架,它为...
1. **SOAP(Simple Object Access Protocol)**:Xfire Web Service可能基于SOAP协议,这是一种用于交换结构化信息的协议,常用于Web服务。SOAP消息封装在HTTP请求中,使得服务可以通过Internet进行调用。 2. **...
Web Service框架XFire是新一代的解决方案,旨在简化Web Service应用的开发,与Axis 2一同成为业界关注的焦点。XFire以其简洁的API设计,全面支持Web Service的各种标准协议,如SOAP、WSDL和WS-Security等,极大地...
【MyEclipse+xFire开发Web Service】是一个关于如何使用MyEclipse集成开发环境和xFire框架来构建和测试Web服务的教程。xFire是一个基于Java的SOAP框架,它提供了轻量级的信息处理机制,利用STAX进行SOAP消息处理。这...
这篇博客“Web Service实践之——开始XFire”可能详细介绍了如何使用XFire来实现Web服务。 在Web服务的世界里,SOAP(Simple Object Access Protocol)是用于交换结构化信息的标准协议,而WSDL(Web Services ...
在Java开发中,XFire是一个流行的框架,用于实现Web服务。本文将详细介绍如何使用XFire在Java中创建和消费Web服务。 首先,理解Web Service的基本概念至关重要。Web Service是一种采用统一的XML(可扩展标记语言)...
在本“Web Service入门例子”中,我们将探讨Web Service的基本概念、架构以及如何使用XFire工具来实现一个简单的Web Service。 一、Web Service基础知识 1. 定义:Web Service是一种通过标准协议(如SOAP、REST)在...