- Posts tagged HTTP
- Explore HTTP on posterous
REST Web services resources for Java developers
Representational State Transfer (REST) is an architectural style for creating, maintaining, retrieving, and deleting resources. REST's information-driven, resource-oriented approach to building Web services can both satisfy your software's users and make your life as a developer easier.
via javaworld.com
- The father of REST, Roy Fielding, dissertation on "Architectural Styles and the Design of Network-based Software Architecture"
- Why REST?
- For more resources see REST Wiki, including the REST in plain English article.
Building REST Services
- Building Web services the REST way
REST related Design Issues
- PUT or POST: the REST of the story, or see also the interesting interview with Elliotte Rusty Harold
- Asynchronous REST or Slow REST:
- Instead of returning a custom object we could use the Content-Location header for the in-progress status URI of the requested operation. This URI could also use headers to provide information regarding the in-progress operation:
- Status-Code: "202 in progress" or "204 No Content" when completed or any error code
- ETag: for the operation progress status. Could be strong and still give a notion of progress
REST for Java Developers (via javaworld.com)
- Part 1 - it's about the information, stupid
- Part 2 - Restlet for the weary
- Part 3 - NetKernel
- Part 4 - The future is RESTful
- Notes:
- All of them are supporting JAX-RS, aka JSR-311, the Java API for RESTful Web Services
- And here is good presentation of JAX-RS
- Restlet project
This is my favorite library, and I like the fact that it is running on GAE/J and supporting GWT
- RESTEasy from JBoss.org
- Jersey part of Sun's GlassFish project
- CXF from Apache.org
- REST Libraries usage trend:
Via GoogleVolume.com
Tools
- RESTY is a simple cURL-based command line tool
- rest-client is a Java-based GUI and command line tool
- HTTP4E is an Eclipse HTTP client
Update 1: Added a libraries and tools sections.
Update 2: Added a section on design issues related to building REST services


