使用CXF构建webservice和rest应用
1. axis , xfire, cxf ? who is the best?
?
?
?从写第一个websevice 应用到现在有2年多的时间了,一开始就是用axis,之后是xfire,现在需要掌握下restful了,感觉虽然框架在变,但是万变不离七宗,你想明白 了,那学习心得东西就不费力了!我们的项目里使用cxf框架 开发了restful应用接口,暴漏给第三方调用!!
?
?
为啥选择restful 暴漏服务给第三方使用?下面是我自己的观点:
?
1.webservice? :似乎webservice 是SOA的银弹,可是它是基于SOAP协议的,soap协议复杂,哪个程序员自己写过wsdl文件,哪个不是利用开源框架自动生成的,效率是webservice的软肋,soap写的的组装,拆分,以及数据路由
?
2.ejb : ejb2.0 也是一个笨重的框架,要是给对方暴漏ejb 服务,首先需要服务方使用ejb容器,比如jboss,websphere, 光有jre是玩不转ejb的,还有ejb可不像webservice 穿透性那么好,webservice 只需要有80端口就OK了,而ejb 的调用服务端可不只给客户端暴漏那个lookup的端口,尤其在电信,金融等行业,防火墙重重保护下!我们就遇到过这方面的问题。还有就是 ejb的服务端升级,还需要将jar同步到客户端,哎!悲剧了!调用方也得加班陪着服务方一起升级了
?
3.rmi java远程方法调用,很好,只要有jre就OK,可是和ejb一样,不是跨平台的,客户端要是C 就玩不转了,不像人家webservice协议 ,跨平台!
?
于是restful 横空出世,简单,易用,跨平台,阿里巴巴对外的API就是restful的
?
什么事restful 呢?上网Google下 你就明白了!! 我的理解就是对http协议的简化版!!
?
?
目前我知道的对restful支持最好的就是cxf框架了,几个注解就能开发一个restful应用了!!下面我们开始cxf之旅
?
1.使用cxf内置jetty 开发webservice应用? (附件hw.rar中)
?
??
2.使用cxf 和sping集成开发 webservice 应用 (附件cxfdemo.rar中)
?
?
3.使用cxf 开发restful应用!(附件cxfdemo.rar中)
?
?
?
参考:
?
rest webservice 和 soap webservice 的比较
http://www.360doc.com/content/09/0918/23/11553_6152605.shtml
?
?restful 很好的例子
?http://borissun.iteye.com/blog/765869
?
记录一下,方面以后查看
原文带有附件,地址为:http://8366.iteye.com/blog/952887