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. java8-2 多态的概述

    1.多态:同一个对象(事物),在不同时刻体现出来的不同状态. 举例: 猫是猫,猫是动物. 水(液体,固体,气态). 多态的前提: A:要有继承关系. B:要有方法重写. 其实没有也是可以的,但是如果没 ...

  2. java10-1 Object类

    Object:类      Object 是类层次结构的根类.每个类都使用 Object 作为超类. 每个类都直接或者间接的继承自Object类. Object类的方法: public int has ...

  3. /etc/profile和~/.bash_profile的区别

    /etc/profile是全局的,是私有的 /etc/profile用于整个系统所有用户, ~/.bash_profile, ~/.profile和~/.bashrc 用于各个用户,这里的" ...

  4. usb驱动开发5之总线设备与接口

    Linux设备模型中的总线落实在USB子系统里就是usb_bus_type,它在usb_init的函数bus_register(&usb_bus_type)里注册.usb_bus_type定义 ...

  5. [转]php返回json数据中文显示的问题

    转自 : http://blog.csdn.net/superbirds/article/details/8091910 解决方法:   <?php    function Notice(){  ...

  6. [原]iBatis.Net(C#)系列一:简介及运行环境

    转载请注明http://www.cnblogs.com/13590/archive/2013/02/27/2934580.html 摘要:介绍iBatis.Net的基本情况和运行原理,运行环境中各参数 ...

  7. LeetCode 笔记22 Distinct Subsequences 动态规划需要冷静

    Distinct Subsequences Given a string S and a string T, count the number of distinct subsequences of  ...

  8. 第十章 系统级I/O

    第十章 系统级I/O 一.Unix I/O 1.一个unix文件就是一个m个字节的序列 2.unix外壳创建的每个进程开始时都有三个打开的文件:标准输入(0) .标准输出(1)和标准错误(-1). 二 ...

  9. Android Studio修改项目的包名

    android studio的修改包名,没有有Eclipse环境中那么好操作.也可能你对Eclipse的操作比较熟悉,对Andoid Studio的操作还不太熟悉.在项目的开发中,你可能遇到需要更改模 ...

  10. multiparty

    nodejs使用multiparty模块实现文件上传(另附express.bodyParser()的说明) http://blog.csdn.net/o6875461/article/details/ ...