您的位置:首页 > 编程语言 > Java开发

与Java Web Service相关的若干概念(JAX-WS,JAX-RS)

2012-01-15 03:56 393 查看
======================================================

注:本文源代码点此下载

======================================================

本篇关键词:
jws ,jax-ws ,jax-rs,rest,restlet,soap
这一段时间从.net转战java了。表示对java的一套相当不熟悉。新手,必须是新手。作为新手,我感到压力很大。
面对开发环境中的若干包,若干插件,若干技术。只写过java 控制台里边的helloword,学习过java基本语言的我,感到很有挑战性。。。
转入正题,今天要说说与java webservice 相关的一些列概念。因为我个人在探索过程中被这些五花八门的新名词搞的很晕,找不到各个概念之间的联系,想要做一个解决方案的选择,令我纠结若干天。
以前的时候,对.net的webservice有所了解,所以对于理解javawebservice 难度就不大。
ljws: 是指与webservice相关的j2ee(其实现在应该叫做java ee吧)技术叫做 jws(全称就是 java webservice)。没错,jws指的就是 javawebservice
ljws含有的技术
1.jax-ws
2.jax-rs
3.jaxb
4.jaxr
5.saaj
6.stax
诸多技术,不是都要弄明白,再说,对于我来说,也不是要攻java的,至少目前不是。
关于jax-ws 与jax-rs
简要说一下 jax-ws 和jax-rs
jax-ws全称是javatm api forxml-based web services
jax-rs :全称是javatm api forrestful web services
而jaxb是java xml binding,是jax-rs jax-ws底层使用的对象与xml之间转换的工具
网上说关于jax-ws与jax-rs有这么说的: 两者是不同风格的soa架构。前者以动词为中心,指定的是每次执行函数。而后者以名词为中心,每次执行的时候指的是资源。
感觉这个说法比较靠谱,jax-ws是面向消息的,每次请求的时候指定了请求的方法。jax-rs是面向资源的。后则将网络上的东西当做一种资源,每次请求都是对该资源进行操作,比如对资源的增删查改。
在网上看到这么一句话:java 中共有三种webservice 规范,分别是jaxm&saaj、jax-ws(jax-rpc)、jax-rs。我暂时不清楚他们能不能叫做webservice服务规范,而且这个服务规范是什么意思?
jax-ws规范是一组xml web services的javaapi,这样会不会好理解一点?规范和api什么关系啊。。。。为什么规范是java api (请原谅我这么咬文嚼字。。。)
我的理解就是他们只是集成在java平台里边的api,这个api是用来实现不同风格的jws的。人们把这一套api叫做web服务规范。因为他们的设计目标不一样,前者jws-ws为实现基于soap协议的web service提供的api,soap协议比较强大。而后者jws-rs是为基于rest设计风格的webservcice提供的api。
关于rest这么说,它是一种架构,而不是一种标准。目前我对他得理解还不够深刻,暂不做深述。
然后我们再结合一部分框架,就能够很轻松(至少框架的目的是这样)的实现web service。
支持jax-ws服务规范的框架有:cxf,axis,xfile
cxf、axis2、xfire 结合java语言均可可实现jax-ws(我理解不了这句话是什么意思,为什么是实现jax-ws。。是应该指的是那种基于soap协议的,webservice吧)
支持jax-rs服务规范的框架有:
cxf——xfireceltix的合并(一个由iona赞助的开源esb,最初寄存在objectweb上)。
jersey——sun公司的jax-rs参考实现。
resteasy——jboss的jax-rs项目。
restlet——也许是最早的rest框架了,它jax-rs之前就有了。
http://www.restlet.org/downloads/stable
我想,意思是这些框架结合jax-ws能够实现ret风格的webservice吧,因为jax-ws不是指的是api么?上述说法令人费解。。
好吧吗,我们就假定认为结合这些框架在结合java平台提供的一些api我们就能够分别实现 soap协议风格的webservice,或者实现 rest风格的web service。
暂时写到这里,我真的标识仍然对上述的一些列概念之间的关系理不顺,希望明白的朋友指点一下迷津,thankyou!!

======================================================

在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定
这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: