While looking up some information about REST and RESTful services I've encountered a pretty amusing forum post that defines REST fan type hierarchy. Let me share the smile:
API Makers: I find them everywhere. They have a system, usually not built thinking on REST, and they want an API created. They usually think REST is an API making technique or recipe, for the web.
- URI Jugglers. This are the ones that think REST is all about creating URIs, and nothing more. So their discussions are solely focused on URIs, and their presentations are about URIs definitions.
- RPCers. Bad group that think REST is a way to map RPC in disguise using URIs in a web API. The most of them don't know they speak RPC at all.
- Exposers: This type is repeated below. Those are the guys that think you need to expose things in REST using resources. So REST is an API for exposing things on the web.
- CRUDers: Another repeated group. They think REST is a web api for CRUD. Simple.
Mappers: This other category may use the API idea, but they actually thing REST is a representation type and the work to be done is to map all that is know used to that new type. Interesting?
- CRUDers. Again, the idea is that CRUD can be mapped naturally to HTTP operations, and that makes it RESTful.
- HTTPers. They believe REST is HTTP. Deep enough.
- Exposers. Again too. They usually try to map all classes, data entities, elements into resources, and then call their systems RESTful.
- Servicers: They think Services is good, and someone told them REST is a way to do services without SOAP. So they follow.