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

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

首页 »Java教程 » apacheaxis2:正确地在Axis、Axis2和Apache CXF的间抉择 »正文

apacheaxis2:正确地在Axis、Axis2和Apache CXF的间抉择

来源: 发布时间:星期六, 2009年1月10日 浏览:18次 评论:0


如何正确地在Axis、Axis2和Apache CXF的间抉择?
关键字: axis axis2 cxf spring
Web Services 框架如 Axis2、CXF 都是由现有项目中逐渐演化而来Axis2 是由大家熟悉 Axis 1.x 系列演化过来而 Apache CXF 则是由 Celtix 和 XFire 项目整合而生并且刚刚发布了 2.0.2 最新版本不过仍是 Apache 个孵化项目

Axis2 是对 Axis 进行了彻底重写个新项目了它使用了新模块化架构更方便于功能性扩展等等
Apache CXF 则是由 XFire 和 Celtix 两个现有项目进行了重组

问题:如果现有应用是基于 Axis 1.x、XFire 或者 Celtix 那应该如何办?都迁移到这些新框架上去吗?但是即使是要迁移那应该迁移到哪个框架上去呢?
如果是编写个新 Web Services 应用就不存在迁移问题了但是哪个框架是你应当选择进行使用呢?哪个比哪个更好呢?

对于现在应用迁移如果你应用是稳定而成熟并且在可预知未来情况下只要很少些需求变更要做那么保存你体力不要去做“劳民伤财“迁移工作了
如果你现有应用BUG缠身性能功能等等都片糟糕那就要考虑迁移了那选哪个框架呢?先比较下它们区别的处:

  1、Apache CXF 支持 WS-Addressing、WS-Policy、WS-RM、WS-Security和WS-I BasicProfile
  2、Axis2 支持 WS-Addressing、WS-RM、WS-Security和WS-I BasicProfileWS-Policy将在新版本里得到支持
  3、Apache CXF 是根据Spring哲学来进行编写即可以无缝地和Spring进行整合
  4、Axis2 不是
  5、Axis2 支持更多 data bindings包括 XMLBeans、JiBX、JaxMe 和 JaxBRI以及它原生 data binding(ADB)
  6、Apache CXF 目前仅支持 JAXB 和 Aegis并且默认是 JAXB 2.0和 XFire 默认是支持 Aegis 区别XMLBeans、JiBX 和 Castor 将在 CXF 2.1 版本中得到支持目前版本是 2.0.2
  7、Axis2 支持多种语言它有 C/C 版本
  8、Apache CXF 提供方便Spring整合思路方法可以通过注解、Spring标签式配置来暴露Web Services和消费Web Services

如何抉择:
1、如果应用需要多语言支持Axis2 应当是首选了;
2、如果应用是遵循 Spring 哲学路线Apache CXF 是种更好选择特别对嵌入式 Web Services 来说;
3、如果应用没有新特性需要就仍是用原来项目所用框架比如 Axis1XFireCeltrix 或 BEA 等等厂家自己 Web Services 实现就别劳民伤财了
--------------------------------------------
我个人举个例子例如像电信这种企业他们系统构成十分复杂是很多年以前老系统是最近才开发出来投入使用用.NET用C用Java使用技术也是 5花 8门而且他们有个习惯就是决不把个系统给个公司完成而是拆成多个模块分别给区别厂商完成在这中背景下我不敢相信使用自己拍脑袋想出来协议而不使用公开大家都接收协议会是个什么后果

电信如此很多别行业我相信多多少少也会遇到类似情况只是迟早问题和程度问题而已

WebService能够这么流行是有其原因别把大家都想象成头脑僵化笨蛋

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: