毕业了,一直更新技术博客,也跳槽到一家上市的公司,他们产品的主要通讯是通过Webservice,以前对Webservice 只是做了大致的了解,今天就在网上找一些开源的知识点,现在市面上主流的夸平台传送有JSON和SOAP两种数据格式,总结一下。以下转自至 http://yulimin.iteye.com/blog/128498

新一代的 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 BasicProfile,WS-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 
以下来自与http://blog.sina.com.cn/s/blog_afb4d07f0101aciz.html
如何抉择: 
1、如果应用程序需要多语言的支持,Axis2 应当是首选了; 
2、如果应用程序是遵循 Spring 哲学路线的话,Apache CXF 是一种更好的选择,特别对嵌入式的 Web Services 来说; 
3、如果应用程序没有新的特性需要的话,就仍是用原来项目所用的框架,比如 Axis1,XFire,Celtrix 或 BEA 等等厂家自己的 Web Services 实现,就别劳民伤财了。

.XML与JSON比较

  首先,XML与JSON的目前主要的两种数据交换格式。
  其结构如下:
  XML:
  <?xml version="1.0" encoding="utf-8">
  <country>
    <name>中国</name>
    <province>
      <name>黑龙江</name>
      <citys>
            <city>哈尔滨</city>
            <city>大庆</city>
         </citys>
       </province>
   </country>
       

    json:

 {name:"中国",province:[
 {name:"黑龙江",citys:
 {city:["哈尔滨","大庆"]}}
 ]}
 可以看出,json的结构要比xml的简单,这就决定了json解析起来要比xml容易。
2.XML,SOAP,WSDL的关系
在构建和使用Web Service时,主要用到一下几个关键的技术和原则:
1),XML:描述数据的标准方法。
2),SOAP:表示信息交换的协议。
3),WSDL:Web服务描述语言。
SOAP就是用来最终完成Web服务调用的,而WSDL则用于描述如何使用SOAP来调用Web服务,方便用户获得SOAP的种种好处。
SOAP:一种轻量的、简单的、基于XML的协议,被设计成在Web上交换结构化的和固化的信息,独立于平台,独立于语言,允许绕过防火墙。实质就是HTTP+XML。
使用:
SOAP 是个通信协议,SOAP在HTTP协议的基础上,把编写成XML的REQUEST参数,放下HTTP BODY上提交到WEB SERVICE服务器处理完成后,结果也写成XML作为RESPONSE送回用户端,为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。
WSDL:wsdl文件是一个xml文档,用于说明一组 SOAP 消息及如何交换这些信息

webservice 框架比较相关推荐

  1. 几种流行Webservice框架性能对比

    1      摘要 开发webservice应用程序中离不开框架的支持,当open-open网站列举的就有30多种,这对于开发者如何选择带来一定的疑惑.性能Webservice的关键要素,不同的框架性 ...

  2. 几种流行Webservice框架性能对照

     转自[http://blog.csdn.net/thunder4393/article/details/5787121],写的非常好,以收藏. 1      摘要 开发webservice应用程序中 ...

  3. php高并发用什么框架,PHP有适用于高并发的WebService框架嘛?

    现在的nodejs项目很火,ruby语言也出现了像sinatra,Padrino之类的webservice框架,PHP语言有没有类似的框架啊? 回复内容: 现在的nodejs项目很火,ruby语言也出 ...

  4. 转 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService

    WebService历来都很受重视,特别是Java阵营,WebService框架和技术层出不穷.知名的XFile(新的如CXF).Axis1.Axis2等. 而Sun公司也不甘落后,从早期的JAX-R ...

  5. 主流webservice框架整理

    2019独角兽企业重金招聘Python工程师标准>>> webserice 其实就是一套平台标准,采用soap协议通过http来调用. 常用的webserice框架主要有: 1. J ...

  6. 【WebService框架-CXF】——WebService和CXF

    在接下来的几篇博客中将对CXF的基础知识和简单应用进行总结.下面列出了要总结的内容.本篇文章集中介绍CXF的基础知识. CXF博客总结目录 WebService和CXF基础知识 CXF入门实例(编写客 ...

  7. CXF 开源的WebService框架

    1.WebService WebService也称web服务.是通过SOAP协议实现的远程调用技术. 即本地系统调用远程的系统 为远程调用 SOAP协议(简单对象访问协议):HTTP+XML,常用SO ...

  8. webservice框架 java_Java CXF WebService框架 开发入门案例

    使用CXF框架发布一个WebService服务,CXF版本:cxf-2.7.15. 服务器端代码案例: package com.what21.cxf.simple; import javax.jws. ...

  9. 在spring中集成webservice 框架 CXF

    首先 构建环境 1.在eclipse下新建个web项目(我比较喜欢用eclipse),接着添加CXF必须依赖的jar包 commons-logging-1.1.jar  geronimo-activa ...

  10. webservice框架_聊聊从RPC到服务治理框架

    与一般的HTTP REST框架不同,一个可用的RPC架构不仅解决了远程调用问题,也提供了用于服务注册和服务发现的基础设施,比如RMI(Java语言的RPC)里的RMI Registry,如下图所示. ...

最新文章

  1. SQL性能优化应该考虑哪些?
  2. 阿里云2011.9.17招聘会笔试题
  3. python爬虫淘宝评论_Python爬取淘宝店铺和评论
  4. CC.Net 全接触系列之三: CQ.Net: CC.Net 最佳伴侣
  5. 中国碳酸亚乙酯(EC)(CAS+96-49-1)行业市场供需与战略研究报告
  6. [LeetCode] Permutations II
  7. i7 9750h和i5 9400参数对比哪个好
  8. 二元二次方程例题_2元1次方程100道题 七年级数学下册二元二次方程组100道计算题及答案!......
  9. 261、Java基础38 - 接口与继承【对象转型】 2019.11.18
  10. openwrt 认证收费_在OpenWrt中安装Wiwiz实现portal认证
  11. 接口测试,后端接口还没开发完,如何测?解决看这一篇就够了......
  12. 进入人工智能行业有哪些方法?
  13. 如何调用股票交易软件api接口?
  14. XML知识3--Schema
  15. VGG——深度学习必会模型及PyTorch实现
  16. 史上最全Mysql规范
  17. CSDN上传图片失败的解决方法
  18. Linux定期清理内存方法
  19. 一文读懂CAN总线/LIN总线/FlexRay/以太网
  20. 7-1 简单计算器 (25 分)

热门文章

  1. C/C++ Dev-cpp 5.4.0下载安装包,百度网盘
  2. 云主机 环境搭配 交接文档
  3. Hilbert变换器
  4. 网页版bpc电波对时_BPC电波对时app
  5. 数学之美——google大脑和人工神经网络
  6. Android input touchpanel双击灭屏
  7. ROSCon 2019 机器人操作系统国际盛会
  8. 计算机英语词汇带音标,常用计算机英语词汇3000例(含音标)
  9. nginx autoindex美化
  10. python实现txt内容合并