Java gets a standard REST
The Java specification for REST-based web services, JSR-311 – also known as JAX-RS – has been finalised and released by the Java Community Program, after unanimous approval from the expert group. The final specification for JSR-311 is available to download.
The Java platform has had support for web services for some time in the form of SOAP and other RPC services, but REST (Representational State Transfer) is a different form of web service. It was originally defined and explored in Roy Fielding's paper in 2000. REST is an architecture where APIs to web services are exposed as URIs which can be manipulated by use of the HTTP POST, GET, PUT and DELETE methods. It has become popular in part because of this close, natural, mapping to how clients and servers on the web interact.
A reference implementation of JSR-311, Jersey, is also available under a dual CDDL/GPL licence. Jersey has been tracking JSR-311 and has not, as yet, been updated to the final specification, but Jersey 0.9 implements it as of August 2008, during finalisation of JSR-311. A 1.0 release is expected soon. JAX-RS uses Java annotations to allow developers to mark how methods would be exposed as a RESTful service, and because of this it is only available for Java 5 and later. Given that Java 1.4 reaches its end of life on the 30th of October, this restriction seems entirely reasonable.