Java RESTful Web Service相关概念
原文地址:http://1.liangtao.sinaapp.com/?p=647
接上一篇文章REST|RESTful初步认识: p=639">http://1.liangtao.sinaapp.com/?p=639
WebService架构相关规范,技术的认识。
Web Service
从表明上来看,Web service就是一个应用程序,它向外界暴露一个可以通过web进行调用的API(无关乎语言、平台)。
从深层次上看,Web service是一种新的web应用程序分支,他们是自包括,自描写叙述,模块化的应用。他遵循一定的技术规范和协议。因此WebService并非某种详细的技术,他更像是一种标准,实际上webservice就是W3C的标准:
Web Services是应用程序组件
Web Services使用开发协议进行通信
Web Services是独立的并可进行自我描写叙述
Web Services可通过使用UDDI来发现
Web services可被其它应用程序使用
对于Web Service先做以上认知就可以。
JWS
指的是与Web Service相关的JavaEE技术,全称就是Java WebService。
详细来讲,JWS含有例如以下的技术
JAX-WS:XML Web Service的JAVA API
JAX-RS:Java API for RESTful Web Services
JAXB:Java Architecture for XML Binding业界标准,依据XML Schema产生java类
JAXR:Java API for XML Registries提供了与多种类型注冊服务进行交互的API
SAAJ:松散耦合软件系统基于SOAP协议实现的基于XML消息传递的API规范。StAX:Stream API for XML,和SAX不同,StAX使用基于流机制对XML文档进行分析和生成。
这里须要理解JAX-WS和JAX-RS的差别:
两者是不同风格的SOA架构。前者以动词为中心,指定的是每次运行函数。JAX-WS是面向消息的,每次请求的时候指定了详细的请求方法。比如:http://localhost:8080/demo/getStudentList。
后者是以名词为中心的,每次运行的时候指的是资源URI。
JAX-RS是面向资源的,每次请求仅仅对资源进行操作:增删改查,它规范定义了Java的RESTful风格(名词形式公布API)
JAXB是Java XML Binding,是JAX-RS 和JAX-WS底层使用的对象与XML进行转换的工具。
JAX-WS和JAX-RS都是用于实现JWS的,仅仅是两者风格不同,JAX-WS的实现基于SOAP协议,面向消息。
JAX-RS是对基于REST设计风格的Web Service提供API规范。关于REST可參考:http://1.liangtao.sinaapp.com/?p=639
JAX-WS和JAX-RS实现
支持JAX-WS服务规范的框架有:CXF,Axis,Xfile。
支持JAX-RS服务规范的框架有:CXF,Jersey,RESTEasy,Restlet。
整体框架图
说了这么多,附上总体框架图,在了解上述概念之后,再看此框架图会有一种原来如此的感觉,清晰思路。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGNvcmU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
Over!
Java RESTful Web Service相关概念的更多相关文章
- <<Java RESTful Web Service实战>> 读书笔记
<<Java RESTful Web Service实战>> 读书笔记 第一章 JAX-RS2.0入门 REST (Representational State ransf ...
- Java Restful Web Service 学习指南
Restful是一种架构style,目前常说的有restful web service, resultful http.现在热搜榜的微服务,大多数会采用Restful方式. JAX-RS 作为一个Re ...
- Java restful web service 开发入门
可用的框架有不少,我用的是jersey. 直接上代码,其实,如果你会web service 这个restful的就很好理解了,自己跑一遍就OK了 用到的类 User.java package demo ...
- 【转】基于CXF Java 搭建Web Service (Restful Web Service与基于SOAP的Web Service混合方案)
转载:http://www.cnblogs.com/windwithlife/archive/2013/03/03/2942157.html 一,选择一个合适的,Web开发环境: 我选择的是Eclip ...
- 使用Java创建RESTful Web Service
REST是REpresentational State Transfer的缩写(一般中文翻译为表述性状态转移).2000年Roy Fielding博士在他的博士论文“Architectural Sty ...
- (转)接口自动化测试 – Java+TestNG 测试 Restful Web Service
本文主要介绍如何用Java针对Restful web service 做接口自动化测试(数据驱动),相比UI自动化,接口自动化稳定性可靠性高,实施难易程度低,做自动化性价比高.所用到的工具或类库有 T ...
- 使用Java创建RESTful Web Service(转)
REST是REpresentational State Transfer的缩写(一般中文翻译为表述性状态转移).2000年Roy Fielding博士在他的博士论文“Architectural Sty ...
- 【转】 Build a RESTful Web service using Jersey and Apache Tomcat 2009
Build a RESTful Web service using Jersey and Apache Tomcat Yi Ming Huang with Dong Fei Wu, Qing GuoP ...
- Building a RESTful Web Service Using Spring Boot In Eclipse
一.构建restful web service 创建Maven的java web工程,maven的pom文件加入依赖包 创建包hello Greeting.java package hello; pu ...
随机推荐
- Window Redis分布式部署方案 java
Redis分布式部署方案 Window 1. 基本介绍 首先redis官方是没有提供window下的版本, 是window配合发布的.因现阶段项目需求,所以研究部署的是window版本的,其实都 ...
- Hbase学习记录(1)|伪分布式安装
概述 Hbase –Haddop Database 是一个高性能,高可靠性.面向列.可伸缩的分布式存储系统. Hbase利用HDFS作为文件存储系统,利用MapReduce来处理Hbase的海量数据, ...
- 指定的值不是类型“Edm.Int32”的实例
指定的值不是类型“Edm.Int32”的实例参数名: value 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常 ...
- dom 留言加强
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 从数列1,2,3.......n 中 随意取几个数,使其和等于 m
//从数列1,2,3.......n 中 随意取几个数,使其和等于 m public static void Print(int n, int m, List<int> ...
- 前端复习-02-ajax原生以及jq和跨域方面的应用。
ajax这块我以前一直都是用现成的jq封装好的东西,而且并没有深入浅出的研究过,也没有使用过原生形式的实现.包括了解jsonp和跨域的相关概念但是依然没有实现过,其中有一个重要的原因我认为是我当时并不 ...
- Hadoop概念学习系列之常见的分布式文件系统(二十六)
常见的分布式文件系统有,GFS.HDFS.Lustre .Ceph .GridFS .mogileFS.TFS.FastDFS等.各自适用于不同的领域.它们都不是系统级的分布式文件系统,而是应用级的分 ...
- vim插件开发初步
[vim插件开发初步] 将如下代码存在helloworld.vim, 放在~/.vim/plugin目录下,插件即可生效.:w保存代码后, 用:source命令执行后,也可以使用Helloworld命 ...
- Python字典 (dictionary)
字典dict,是Python唯一的标准mapping类型,也是内置在Python解释器中的. mapping object把一个可哈希的值(hashable value)映射到一个任意的object上 ...
- CodeForces 711D Directed Roads (DFS判环+计数)
题意:给定一个有向图,然后你可能改变某一些边的方向,然后就形成一种新图,让你求最多有多少种无环图. 析:假设这个图中没有环,那么有多少种呢?也就是说每一边都有两种放法,一共有2^x种,x是边数,那么如 ...