WS ,JAX-WS ,JAX-RS,REST,Restlet,SOAP

l  JWS: 是指与webservice相关的J2EE(其实现在应该叫做Java EE吧)技术叫做 JWS(全称就是 java webservice)。没错,jws指的就是 javawebservice

l  Jws含有的技术

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的JAVA  API,这样会不会好理解一点?规范和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——XFire和Celtix的合并(一个由IONA赞助的开源ESB,最初寄存在ObjectWeb上)。
  • Jersey——Sun公司的JAX-RS参考实现。
  • RESTEasy——JBoss的JAX-RS项目。
  • Restlet——也许是最早的REST框架了,它JAX-RS之前就有了

结合这些框架在结合java平台提供的一些API我们就能够分别实现 soap协议风格的webservice,或者实现 REST风格的Web Service。

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

  1. VS2010 根据WSDL文件(java Web Service)生成.cs文件

    我们添加webService引用,一般是通过 添加服务引用完成的,其实 添加服务引用 在背后为我们生成了代理类. 我们手动生成代理类方法: 1.通过java Web Service,生成wsdl文件: ...

  2. java web service

    1.编写服务代码 服务代码提供了两个函数,分别为sayHello和sayHelloToPerson,源代码如下: /* * File name: HelloService.java * * Versi ...

  3. Java与WCF交互(二):WCF客户端调用Java web service【转】

    原文:http://www.cnblogs.com/downmoon/archive/2010/08/25/1807982.html 在上篇< Java与WCF交互(一):Java客户端调用WC ...

  4. java web service 上传下载文件

    1.新建动态web工程youmeFileServer,新建包com,里面新建类FileProgress package com; import java.io.FileInputStream; imp ...

  5. 转载——Java与WCF交互(二):WCF客户端调用Java Web Service

    在上篇< Java与WCF交互(一):Java客户端调用WCF服务>中,我介绍了自己如何使用axis2生成java客户端的悲惨经历.有同学问起使用什么协议,经初步验证,发现只有wsHttp ...

  6. Java:Web Service初入门

    前言 Web Service技术在我第一次接触,又没有实际使用时完全不理解这是什么.以为是一种类似Spring,Shiro的编程框架.后来渐渐理解,WS(即Web Service缩写)是一种通用的接口 ...

  7. 获取JAVA[WEB]项目相关路径的几种方法

    在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getPro ...

  8. java web sql注入测试(1)---概念概述

    在进行java web 测试时,经常会忽略的测试种类就是sql注入测试,这类缺陷造成的原因是开发技术在这方面欠缺的表现,虽然不常见,但一旦有这类缺陷,就很因此对运营的数据造成很多不必要的损失,所以,还 ...

  9. java web学习总结(一) -------------------基本概念

    一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...

随机推荐

  1. ArcGIS Engine 中 线加箭头

            ;             ICartographicLineSymbol pCartoLineSymbol = );             IArrowMarkerSymbol p ...

  2. php报错日志:PHP Deprecated:Automatically populating $HTTP_RAW_POST_DATA is deprecated

    前几天将线上php服务升级到5.6.x版本后,php-error.log报出错误:PHP Deprecated: Automatically populating $HTTP_RAW_POST_DAT ...

  3. 004医疗项目-逆向工程-pojo类的创建和对应xml的生成

    我们使用mybatis的逆向工程来生成pojo类,省去很多不必要的工作. 我把逆向工程需要的项目如下:

  4. 18SpringMvc_在业务控制方法中收集数组参数

    这篇文章我们要解决的问题的多选框选中,并批量删除. 比如:

  5. HTML语义化之常见模块

    用合理的HTML标记以及特有的属性去格式化文档内容. 浏览器会根据标签的语义给定一个默认的样式. 判断网页标签语义是否良好的一个简单方法就是:去掉样式,看网页结构是否组织良好有序,是否仍然有很好的可读 ...

  6. dos常用命令

    进入终端 首先具备一个控制台(命令行提示符窗口)用于输入dos命令: 打开一个控制台的方式: 方式一:开始-------> 所有程序--------->附件----------->命 ...

  7. 处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表

    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法 IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Int ...

  8. 找不到类型{0} 它在 ServiceHost 指令中提供为 Service 特性值

    由于我把binding改成wsHttpBinding,在web.config里也改了命名空间 services的类名也改成了跟 web.config对应的命名空间后 在添加引用后,出现了错误: “找不 ...

  9. Java中sleep()和wait()的区别

    1. 这两个方法来自不同的类,sleep方法属于Thread,wait方法属于Object. 2. 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法. ...

  10. app:发布新版本的具体步骤

    1