Java下RESTful WebService的实现框架介绍

Java下RESTful WebService的实现框架介绍

Java下RESTful WebService的实现框架介绍

Web Service更多是一种标准,而不是一种具体技术。不同的平台,不同的语言大都提供WebService的开发实现,在Java领域,WebService的框架很多,例如:Axis2,Xfire,CXF和Java6自带的WebService引擎。

在 Spring 框架支持 REST 之前,人们会使用其他几种实现技术来创建 Java 的 RESTful Web Services,如 Restlet、RestEasy 和 Jersey。Jersey 是其中最值得注意的,它是 JAX-RS(JSR 311)的参考实现。

基于RESTful 的几种实现

1.1.  Rails

Ruby on Rails是新兴的敏捷Web开发框架,在动态语言Ruby的支持下,Rails以新鲜的视角告诉我们Web开发是简单而快乐的。Rails对 RESTful Web Service的开发作了极大的封装和简化,这对开发人员来说是一个强大的工具。而且即将发布的Rails 2.0将全面基于REST。

1.2.  Axis2

Apache Axis2是传统的Java Web Service框架Axis的下一代版本。从最初的Apache Axis和Apache SOAP到目前的Axis2,经历了大量变革和发展。相对以前的版本,Axis2更灵活、更高效、更简单。作为Java端官方和传统Web Service框架,在REST与SOAP的硝烟弥漫、战火纷飞的状况下,Axis2尝试同时支持SOAP和REST,采用了WSDL2.0中将REST 与Web服务结合的工作成果。

1.3.  Django

Django是基于python语言的敏捷Web和Web服务开发框架,它的设计与Rails十分类似,只不过简化和封装稍少一些。

1.4.  JSR 311: JAX-RS

JAX-RS(JSR 311,Java API for XML-RESTful Web Services)是基于annotation的实现方式,我们通过annotation的方式把一个java class标注成RESTful web service,并把它的方法标注成HTTP的CRUD。相关的annotation有@path, @Produces,@GET, @POST, @DELETE, @PUT, @PathParam等,对java开发人员在使用起来比较方便。

目前已经有很多现成的实现,比如Jersey, Apache CXF, JBoss RESTEasy

Jersey:http://jersey.java.net/nonav/documentation/latest/chapter_deps.html

Apache CXF:http://cxf.apache.org/download.html

1.5.  其他支持RESTful的Java框架

Restlet(http://www.restlet.org/

Cetia4(https://cetia4.dev.java.net/

Apache Axis2(http://http://ws.apache.org/axis2/

sqlREST(http://sqlrest.sourceforge.net/

REST-art(http://rest-art.sourceforge.net/

相关推荐