1.Web服务
Web服务是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。”网络服务”(Web Service)的本质,就是通过网络调用其他网站应用的资源。
参考:
2.RESTful
REST可翻译为“可重新表达的状态迁移”或“表现层状态转化”,英文全称Representational State Transfer
,是Roy Thomas Fielding博士于2000年在他的博士论文 中提出来的一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相传递信息。
需要注意的是,具象状态传输是设计风格而不是标准。
理解RESTful的前提是理解REST,因为RESTful就是一个形容词(就跟beautiful,wonderful一样),表示“匹配或符合具象状态传输(REST)设计风格的”。所以匹配具象状态传输设计风格的Web API称为RESTful API。它从以下三个方面资源进行定义:
- 直观简短的资源地址:URI,比如:http://example.com/resources/。
- 传输的资源:Web服务接受与返回的互联网媒体类型,比如:JSON,XML,YAML等。
- 对资源的操作:Web服务在该资源上所支持的一系列请求方法(比如:POST,GET,PUT或DELETE)。
参考:
3.JAX-RS
JAX-RS
的全称为Java API for RESTful Web Services
,它是一个Java编程语言的应用程序接口,支持按照表象化状态转变(REST)架构风格创建Web服务。JAX-RS使用了Java SE 5
引入的Java注解
来简化Web服务客户端和服务端的开发和部署。
目前JAX-RS的实现包括:
- Apache CXF,开源的Web服务框架;
- Jersey, 由Sun提供的JAX-RS的参考实现;
- RESTEasy,JBoss的实现;
- Restlet,由Jerome Louvel和Dave Pawson开发,是最早的REST框架,先于JAX-RS出现;
- Apache Wink,一个Apache软件基金会孵化器中的项目,其服务模块实现JAX-RS规范;
参考:
4.Jersey
Jersey是由Sun开发的、产品级质量的JSR 311项目,它是一种JAX-RS的参考实现。Jersey实现了JSR-311中对注解的支持,这使得开发人员使用Java开发RESTfulWeb服务更加容易。除此以外,Jersey还增加了JSR以外的附加特性。
其他参考文章: