专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » axis2:CXF和Axis的比较 »正文

axis2:CXF和Axis的比较

来源: 发布时间:星期四, 2009年2月12日 浏览:62次 评论:0


在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.xXFire和Celix应用需要迁移版本上如果个开发人员确定要迁移它应用到新框架上那么他应该选择哪个呢?相反如果个开发者决定从头开发个新Web Service他应该使用哪个呢? 这两个框架哪个更好些呢?

对于系统迁移来说也许迁移到新框架并不难Axis和CXF都提供了迁移指导能够给开发者些迁移窍门技巧和经验但是对于这样迁移这两个开源项目都没有提供迁移工具对于这样迁移工作尽管很值得去寻找所有可行方案Axis2和CXF都有各自区别WebService开发思路方法每个思路方法都有相当数量拥护者

通过个比较矩阵来比较Axis2和CXF变得有现实意义这两个项目都开发不够成熟但是最主要区别在以下几个方面:

1.CXF支持 WS-AddressingWS-Policy WS-RM WS-Security和WS-I Basic ProfileAxis2不支持WS-Policy但是承诺在下面版本支持

2. CXF可以很好支持SpringAxis2不能

3. AXIS2支持更广泛数据并对如XMLBeansJiBXJaxMe和JaxBRI和它自定义数据绑定ADB注意JaxME和JaxBRI都还是试验性CXF只支持JAXB和Aegis在CXF2.1

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嵌入其他如果你觉得这两个框架新特性对于你并没有太大用处你会觉得Axis1也是不错选择你应该继续使用它知道你有充分理由去更换它

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: