At the end of last month, the work of the W3C Web Services Architecture working group reached an end and the WSA document was published. Nevertheless, the discussions continue in the mailing list almost exclusively on the relationship between Web Services and REST (again). While following the discussions, I started thinking about that relationship. I discussed the ideas with my friend Jim Webber and he agreed. We are thinking of writing an article about it. We’d be interested in people’s views (either privately or as comments here). Once we have more in place, we are going to ask for comments again.
REST is all about constrained interfaces on resources. A resource is identified by a URI. The schema of the URI defines what you can do with a resource. For example, you can use PUT/POST/DELETE/GET on a resource that is of the form http://mycompany.com/resourceid. You build distributed applications by reasoning about resources and what you can do with them. Here’s a short intro to REST which presents REST as an architectural style.
The example I keep hearing by supporters of REST as an illustration of its applicability to internet-scale computing is the Web. Granted, the Web scales. But why?