- 浏览: 431789 次
- 来自: ...
文章分类
最新评论
-
u010174629:
<a>jsjdi</a>
JS(去掉前后空格或去掉所有空格)的用法 -
吾兮子:
[b][i][u]引用[list]
[*][img][url] ...
JS(去掉前后空格或去掉所有空格)的用法 -
guyunduzai:
请教,每小时触发一次规则该怎么写?
Quartz 触发器(SimpleTrigger&CronTrigger )配置说明 & cronExpression表达式 -
lvzhou_31:
能不能把msgpack-0.5.1-devel.jar给下。m ...
msgpack -
h416373073:
正在学习这个,很有用
Quartz 触发器(SimpleTrigger&CronTrigger )配置说明 & cronExpression表达式
Web service框架
CXF
最新版本: 2.2.2
开源服务框架,可以通过API ,如JAX-WS , 构建和开发服务。服务可以使多种协议的,例如SOAP, XML/HTTP, RESTful HTTP, CORBA ,并可以工作与多种传输协议之上,如HTTP ,JMS ,JBI 。
主要特性
l 支持 Webservice 标准:包括 SOAP, the Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, 和 WS-Security 。
l 前端( Frontend ):支持多种前端编程模型。CXF 实现了JAX-WS API 。它包含一个简单的前端,可以创建客户端和端点而不需要注释。既支持协议优先的WSDL 开发,也支持代码优先的Java 开发。
l 易用性:可以通过简单的API 快速构建代码优先的服务,简化模具集成的Maven 插件,支持JAX-WS API, 支持Spring 2.0 XML 来配置一个子网访问协议。
l 支持二进制和遗留协议:提供了一个插件式的体系结构,支持XML 和非XML 类型的绑定,如JSON 和 CORBA 。
目标
- 高性能
- 可扩展
- 直观易用
- JAX-WS, JAX-WSA, JSR-181, and SAAJ
- SOAP 1.1, 1.2, WS-I BasicProfile, WS-Security, WS-Addressing, WS-RM 和 WS-Policy
- WSDL 1.1 和 2.0
- MTOM
- 绑定: SOAP, REST/HTTP
- 数据绑定: JAXB 2.0, Aegis, XMLBeans. ( 将在下一版本中支持Castor 和 JiBX)
- 格式: XML, JSON
- 传输: HTTP, Servlet, JMS, and Jabber transports
- 可扩展 API 允许附加的绑定,支持附加的消息格式,如CSV 。
- 轻量级容器: 在 Tomcat 或 基于Spring 的容器中部署服务
- JBI 集成: 作为服务引擎部署在JBI 容器中,如 ServiceMix, OpenESB 或 Petals
- SCA 集成: 在SCA 容器中部署,例如Tuscany
- J2EE 集成: 在J2EE 应用程序中部署服务,如 Geronimo, JOnAS, JBoss, WebLogic, 和 WebSphere
- 独立式 Java client/server
- 完全支持 JAX-WS 2.0 client/server 编程模型
- JAX-WS 2.0 同步, 异步 和 one-way API's
- JAX-WS 2.0 动态请求接口 (DII) API
- 支持打包和未打包的形式
- XML 消息 API
- 支持 JavaScript and ECMAScript 4 XML (E4X) - both client and server
- Support for CORBA with Yoko
- Support for SCA withTuscany
- Support for JBI with ServiceMix
- Java to WSDL
- WSDL to Java
- XSD to WSDL
- WSDL to XML
- WSDL to SOAP
- WSDL to service
Axis
最新版本: 1.4
Axis 是 Apache 组织推出的 SOAP 引擎, Axis 项目是 Apache 组织著名的 SOAP 项目的后继项目, 但是 Axis 不仅仅是一个 SOAP 引擎,它还包括:
1) 个独立运行的 SOAP 服务器
2) 一个 servlet 引擎的插件,这个 servlet 引擎可以是 Tomcat
3) 对 WSDL 的扩展支持
4 ) 一个将 WSDL 的描述生成 JAVA 类的工具
5) 一些示例代码
6) 还有一个监控 TCP/IP 包的工具
主要特性
l 速度: Axis 使用 SAX (event-based) 语法分析,与早期版本的 Apache SOAP 相比,速度有显著提高。
l 灵活性:Axis 体系结构使开发者可以自由的向引擎中插入扩展。
l 稳定性: Axis 定义了一组公共的接口。
l 面向组件的部署:可以简单地定义可复用的处理机网络,来实现应用程序的通用处理方式 或分发给合作者。
l 传输框架:有一个简洁的设计传输的抽象,引擎的核心完全独立于传输。 We have a clean and simple abstraction for designing transports (i.e., senders and listeners for SOAP over various protocols such as SMTP, FTP, message-oriented middleware, etc), and the core of the engine is completely transport-independent.
l 支持WSDL : Axis 支持WSDL1.1 ,可以简单的构建访问远程服务的桩(stub ), 还可以自动将部署的服务从Axis 导出为机器可识别的描述。
Axis2
最新版本: 1.5
体系结构
Axis2 具有模块化体系结构,由核心模块和非核心模块组成。据说,Axis2 核心是纯 SOAP 处理引擎,并没有包含 Java™ API for XML-based RPC (JAX-RPC) 概念作为其核心的一部分。同时,Axis2 体系结构的设计充分考虑了以下原则:
- 逻辑和状态分离,以提供无状态处理机制,因为 Web 服务是无状态的。
- 所有信息位于一个信息模型中,允许对系统进行挂起和恢复。
- 能够在不更改核心体系结构的情况下扩展功能,能以最小或没有核心更改的情况下直接支持新 Web 服务规范。
Axis2 核心体系结构包括以下核心和非核心组件:
-
核心组件
- XML 对象模型 (AXIOM)
- SOAP 处理模型:处理程序框架
- 信息处理模型:上下文和描述
-
其他组件
- 部署模型
- 传输
- 客户机 API
- 核心生成模型
主要特性
· 速度 - Axis 使用 SAX (event-based) 语法分析,与早期版本的 Apache SOAP 相比,速度有显著提高。
· 内存占用低 - Axis2 was designed ground-up keeping low memory foot print in mind.
· AXIOM - Axis2 comes with its own light-weight object model, AXIOM, for message processing which is extensible, highly performant and is developer convenient.
· 热部署 - Axis2 is equipped with the capability of deploying Web services and handlers while the system is up and running. In other words, new services can be added to the system without having to shut down the server. Simply drop the required Web service archive into the services directory in the repository, and the deployment model will automatically deploy the service and make it available for use.
· 异步web 服务 - Axis2 now supports asynchronous Web services and asynchronous Web services invocation using non-blocking clients and transports.
· 支持MEP - Axis2 now comes handy with the flexibility to support Message Exchange Patterns (MEPs) with in-built support for basic MEPs defined in WSDL 2.0.
· 灵活性 - Axis 体系结构使开发者可以自由的向引擎中插入扩展。
· 稳定性 - Axis 定义了一组公共的接口。
· 面向组件的部署 - 可以简单地定义可复用的处理机网络,来实现应用程序的通用处理方式 或分发给合作者。
· 传输框架 - 有一个简洁的设计传输的抽象,引擎的核心完全独立于传输。 We have a clean and simple abstraction for designing transports (i.e., senders and listeners for SOAP over various protocols such as SMTP, FTP, message-oriented middleware, etc), and the core of the engine is completely transport-independent.
· 支持WSDL - Axis 支持WSDL1.1 ,可以简单的构建访问远程服务的桩(stub ), 还可以自动将部署的服务从Axis 导出为机器可识别的描述。
· 插件 - Several Web services specifications have been incorporated including WSS4J for security (Apache Rampart), Sandesha for reliable messaging, Kandula which is an encapsulation of WS-Coordination, WS-AtomicTransaction and WS-BusinessActivity.
· 组成和可扩展性 - Modules and phases improve support for composability and extensibility. Modules support composability and can also support new WS-* specifications in a simple and clean manner. They are however not hot deployable as they change the overall behavior of the system.
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 等项目的支持等。
比较
Axis1.X VS Axis2
Axis2 不仅是 Apache 的新 Web 服务框架。它还体现了从 Axis 1.x 系列获得的经验和最近两年在 Web 服务领域的发展。推出 Axis2 的主要原因之一是从速度和内存方面获得更好的性能—— 不过还添加了一些新特性和功能。大部分新特性都是为了提高 Axis2 的易用性,并同时保留通过各种方式扩展功能的空间。大部分新功能所添加到的主要领域如下所示:
新 XML 对象模型 (AXIOM)
与 Axis 1.x 相比,Axis2 构建于全新的体系结构之上。引入 Axis2 的主要原因之一是获得合适的 XML 处理模型。Axis 1.x 使用 DOM 作为其 XML 表示机制,但使用 DOM 的缺点是,需要在内存中保存完整的对象层次结构(与传入消息对应)。对于小消息,这将不是问题,但对于大型消息就是问题了。为了克服此问题,Axis2 引入了新的 XML 表示形式作为其基础。
基于消息传递的核心
Axis2 核心是纯 SOAP 处理引擎,并不了解数据绑定、传输、WSDl 等内容。Axis2 核心的主要功能是处理传输消息,并将其交付给目标应用程序。与 Axis 1.x 一样,Axis2 也具有用于扩展其主要功能的处理程序概念。
Axis 1.x 并没有异步 Web 服务调用的概念,它完全绑定到请求- 响应调用,但在 Axis2 中却是另一番景象。Axis2 体系结构能够支持在客户端和服务器端同时支持异步调用。同时,Axis2 也支持请求- 响应样式的调用,但这会以两个异步调用的方式进行。在 Axis2 中,进入系统的消息可能有也可能没有响应,应该注意,Aixs2 支持 WSDL 2.0 中定义的所有八种消息交换模式(Message Exchange Patterns ,MEP )。
Axis2 具有流的概念,流是阶段的集合,而阶段是处理程序的集合。根据给定方法调用的 MEP ,与其关联的流的数量可能会有所变化。
部署模型
在 Axis 1.x 中,用户必须手动调用管理客户机,并更新服务器类路径,然后重新启动服务器,以应用更改。这个有点麻烦的部署模型对新手肯定是一道障碍。Axis2 经过了精心的设计,能够克服此缺点,并提供灵活、用户友好、可方便进行配置的部署模型。Axis2 部署引入了类似于 Java™ 2 Platform Enterprise Edition (J2EE) 部署机制的概念,开发人员可以在其中将所有类文件、库文件、资源文件和配置文件一起打包为存档文件,并将其放置在文件系统中的指定位置。
模块体系结构
在 Axis 1.x 中,要添加处理程序,需要首先更改全局配置文件,然后需要重新启动系统,并没有在运行时更改处理程序链的动态方法。为了克服这个问题和增加新特性,Axis2 引入了 Web 服务扩展或模块的概念;其中模块的主要工作是对核心功能进行扩展。在 Axis 1.x 中,可以通过向处理程序链添加处理程序来实现此目标。与 Axis 1.x 处理程序链相比,使用模块的优势在于,您可以在根本不改变全局配置文件的情况下添加新模块。同时,模块是一个自容器,其中可以包含处理程序、第三方库、模块相关资源和模块配置文件。
XFire VS Axis
XFire 是与Axis2 并列的新一代WebService 平台。之所以并称为新一代,因为它:
1. 支持一系列Web Service 的新标准--JSR181 、WSDL2.0 、JAXB2 、WS-Security 等;
2. 使用Stax 解释XML, 性能有了质的提高。XFire 采用Woodstox 作Stax 实现;
3. 容易上手,可以方便快速地从pojo 发布服务;
4. Spring 的结合;
5. 灵活的Binding 机制,包括默认的Aegis,xmlbeans,jaxb2,castor 。
XFire 与Axis1 性能的比较
XFire 比Axis1.3 快2-6 倍
XFire 的响应时间是Axis1.3 的1/2 到1/5
XFire 与Axis2 的比较
虽然XFire 与Axis2 都是新一代的WebService 平台,但是Axis2 的1.0 版本还不是一个稳定的版本。在XFire 捐献给apache 后有人认为Axis2 将会灭亡。在很多人眼里,Axis2 并不是pojo 形式,Dan Diephouse 证明了XFire 比Axis 更有市场。用XFire 进行WebService 的开发比Axis2 简单很多。
AXIS VS CXF
在SOA 领域,我们认为Web Service 是SOA 体系的构建单元(building block )。对于服务开发人员来说,AXIS 和CXF 一定都不会陌生。这两个产品都是Apache 孵化器下面的Web Service 开源开发工具。 Axis2 的最新版本是1.3.CXF 现在已经到了2.0 版本。
这两个框架 都是从已有的开源项目发展起来的。Axis2 是从Axis1.x 系列发展而来。CXF 则是XFire 和Celtix 项目的结合产品。Axis2 是从底层全部重新实现,使用了新的扩展性更好模块架构。 CXF 也重新的深化了XFire 和Celtix 这两个开发工具。
新产品的退出导致了几个问题。是不是现有的使用Axis 1.x ,XFire 和Celix 的应用需要迁移的新的版本上。如果一个开发人员确定要迁移它的应用到新的框架上,那么他应该选择哪一个呢?相反的,如果一个开发者决定从头开发一个新的Web Service ,他应该使用哪个呢? 这两个框架哪一个更好一些呢?
对于系统迁移来说,也许迁移到新的框架并不难。Axis 和CXF 都提供了迁移的指导。能够给开发者一些迁移的技巧和经验。但是对于这样迁移,这两个开源项目都没有提供迁移的工具。对于这样的迁移工作,尽管很值得去寻找所有的可行方案。Axis2 和CXF 都有各自不同的WebService 开发方法,每个方法都有相当数量拥护者。
通过一个比较矩阵来比较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 , 并且默认是 JAXB 2.0 。
4. Axis2 支持多语言- 除了Java, 他还支持C/C++ 版本。
比较这两个框架的Web Service 开发方法与比较它们的特性同样重要。 从开发者的角度,两个框架的特性相当的不同。 Axis2 的开发方式类似一个小型的应用服务器,Axis2 的开发包要以WAR 的形式部署到Servlet 容器中,比如Tomcat ,通过这些容器可以对工作中的Web Service 进行很好的监控和管理。Axis2 的Web administrion 模块可以让我们动态的配置Axis2. 一个新的服务可以上载,激活,使之失效,修改web 服务的参数。管理UI 也可以管理一个或者多个处于运行状态的服务。这种界面化管理方式的一个弊端是所有在运行时修改的参数没有办法保存,因为在重启动之后,你所做的修改就会全部失效。
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 还是CXF ,都可以从开源社区得到大量的帮助。这两个框架都有商业公司提供服务,WSO2 提供AXIS2 的支持,Iona 提供CXF 的支持。这两公司都有很活跃的开发者社区。 Axis2 出现的时间较早,CXF 的追赶速度快。如果需要多语言的支持,应该选择AXIS2 。如果需要把的实现侧重JAVA 并希望和Spring 集成,CXF 就是更好的选择,特别是把Web Service 嵌入其他的程序中。
发表评论
-
记录笔记
2015-05-19 16:19 7376url:http://pan.baidu.com/s/1gdw ... -
学习记录4
2015-04-27 22:31 93url:http://pan.baidu.com/s/1gdw ... -
记录备份3
2015-04-27 22:29 140url:http://pan.baidu.com/s/1gdw ... -
记录备份2
2015-04-13 16:34 73url:http://pan.baidu.com/s/1gdw ... -
记录备份1
2015-04-13 16:00 2625url:http://pan.baidu.com/s/1gdw ... -
远程连接服务器时本地磁盘不能显示
2015-03-27 16:16 1172远程连接服务器时本地磁盘不能显示 2009- ... -
postDelayed方法和removeCallbacks方法的使用
2015-01-05 00:22 3569方法postDelayed的作用是 ... -
No enclosing instance of type E is accessible
2015-01-03 19:04 961最近在看Java,在编译写书上一个例子时,由于书上的代码只有 ... -
msgpack
2015-01-03 19:01 4733msgpack简介 MessagePack是一个基于二进制 ... -
异步任务AsyncTask使用解析
2015-01-03 15:47 998AsyncTask主要用来更新UI线程,比较耗时的操作可以在 ... -
java 调用 .so 文件
2015-01-02 21:03 2145我的测试过程,请参考。Java代码(Test.java): ... -
android 使用Alarm
2015-01-03 15:45 1029使用Alarm Alarm是在 ... -
反编译出现access$分析
2015-01-02 23:06 53261)static Type access$iii(Oute ... -
jd-gui反编译 access$xxx类函数说明
2015-01-01 22:19 2816使用jd-gui反编译后去掉注释 /\* *\d* *\*/ ... -
构造方法的反射应用constructor方法newInstance(Obeject...initargs)功能
2015-01-01 22:15 1325Constructor类代表某个类 ... -
构造方法的反射应用constructor方法newInstance(Obeject...initargs)功能
2015-01-01 22:14 5Constructor类代表某个类中的一个构造方法 得到某 ... -
java.lang.Class.getDeclaredConstructor()方法实例
2015-01-01 21:59 14782java.lang.Class.getDeclaredCo ... -
java常用的设计模式
2014-11-07 16:52 8561.单例设计模式 所谓单例设计模式简单说就 ... -
Android获取经纬度,计算距离,方位角
2014-08-29 17:10 8979最近在Android上做GPS的东西,获取经纬度、计算距离、 ... -
No Hibernate Session bound to thread, and configuration does not allow creation
2014-07-25 11:21 1019没有添加事务支持,就不能从线程资源中获取Session 。 s ...
相关推荐
本文主要对比了三种流行的Java Web服务框架:XFire、Axis2和CXF,以帮助开发者做出最佳选择。 首先,CXF是一个由Apache基金会维护的重量级SOA(面向服务架构)框架,它支持ESB(企业服务总线),并实现了Web服务、...
Axis2是由Axis1.x系列演化而来,而Apache CXF则是由Celtix和XFire项目整合而生。在本文中,我们将探讨CXF和Axis2框架的区别,以帮助开发者更好地选择适合自己的框架。 架构设计 Axis2是一个对Axis进行了彻底的重写...
2. **XFire (CXF)**:XFire(现为Apache CXF)是一个更现代的框架,它集成了Spring,使得服务端的开发更加简单,因为大部分逻辑都被封装到了底层API中。XFire支持直接配置生成WSDL,且能与Spring无缝集成,简化了...
1、以下四个类调用了XmlSchema-1.1.jar包 因与cxf包xmlschema-core-*.jar 冲突 故重新打包 XmlSchema-1.1.jar 源码修改原类径的方法来重新打包避免冲突 源码放在javas.rar文件夹中 org.codehaus.xfire.wsdl11....
本文将深入探讨两种流行的Java Web服务框架——Axis2和CXF,并提供一个简单的实例来帮助理解它们的工作原理和使用方法。 首先,让我们了解一下`Axis2`。Axis2是Apache软件基金会开发的一个高性能、灵活且可扩展的...
在Java中,有多个流行的WebService框架,其中包括AXIS、XFire以及本文主要讨论的Apache CXF。 AXIS是早期广泛使用的Java WebService框架,它提供了一种简单的方式来创建和消费Web服务,支持SOAP和WSDL。然而,随着...
2. **XFire**:是另一个强大的Java Web Service框架,它在早期被称为Axiom,后来并入CXF项目。XFire强调简洁的API和快速的开发周期,支持多种协议如SOAP、RESTful以及JAXB(Java Architecture for XML Binding)和...
CXF是Apache基金会的一个项目,它整合了XFire和Axis2的优势,提供了一站式的解决方案,支持SOAP、REST、WS-*标准等。 4. CXF特性 - 强大的工具集,包括WSDL-to-Java和Java-to-WSDL工具。 - 对WS-Security、WS-...
XFire、CXF和Axis2都是Java世界中知名的Web服务框架,每一种都有其独特的特性和优势。让我们深入探讨一下这三种框架的核心内容及其区别。 1. **XFire**: XFire(后来被集成到Apache CXF中)是一款轻量级的Web服务...
本篇文章将深入探讨三个流行的Java Web Service框架:XFire、CXF和Axis,它们都是用于构建和消费Web服务的重要工具。 1. **XFire**: XFire是早期的Web服务实现,它提供了一个轻量级、高性能的框架,支持SOAP 1.1...
标题 "axis,xfire测试案列+开发文档API+axis1.jar.rar" 涉及的是两个关键的Java Web服务框架:Axis1和XFire。这两个框架主要用于构建和消费SOAP(简单对象访问协议)Web服务。以下是关于这些技术的详细说明: **...
对比AXIS2和CXF,AXIS2是Axis1.x系列的升级版,采用了全新的模块化架构以增强扩展性。尽管AXIS2在某些方面可能不如CXF成熟,例如不支持WS-Policy(但计划在未来版本中添加),但AXIS2提供了更广泛的数据绑定选项。另...
在Java开发中,有时我们可能需要整合不同的框架或者库,比如Apache CXF和XFire,这两个都是用于构建Web服务的框架。然而,由于它们都包含了处理XML Schema(XmlSchema)的相关组件,可能会出现jar包冲突的问题,导致...
标题中的“axis”和“xfire”是两个不同的Java Web Service框架,它们允许开发者创建和消费Web服务。本文将深入探讨这两个框架以及如何配置它们来实现Web服务。 **Axis** Axis是Apache软件基金会的一个开源项目,...
在Java开发中,有时我们需要处理Web服务,而Axis和XFire是两个著名的Java Web服务框架。这两个工具都允许开发者创建、部署和消费Web服务,但它们各有特点和用途。 **Axis**是由Apache软件基金会开发的一个开源项目...
总的来说,了解和掌握Axis2、xFire和CXF对于Web服务开发至关重要。它们是构建和利用Web服务的关键工具,可以帮助开发者在分布式系统中实现无缝的数据交换和协同工作。无论你是初学者还是经验丰富的开发者,理解这些...
【CXF、AXIS2、XFire 客户端调用方法详解】 在Web服务开发中,CXF、AXIS2和XFire是常见的Java API,用于构建和消费SOAP(简单对象访问协议)服务。这些框架提供了丰富的功能,使得开发者能够方便地创建和调用Web...
目前Axis有两个主要版本:Axis1.x 和 Axis2。 - **Axis1.x**:这是最初的版本,广泛应用于早期的Web服务项目中。 - **Axis2**:这是对Axis1.x的一次重大升级,引入了许多新功能和技术改进,如更好的性能、更灵活的...