Stefan Tilkov's Random Stuff

REST Doubts

What are the most common criticisms/doubts people have about using RESTful HTTP?

Here is an initial list I’ve come up with (please note that I’m not conceding any of them are justified ;-) :

  • REST may be usable for CRUD, but not for “real” business logic
  • Who would actually want to expose so much of their application?
  • Resources are too low-level, i.e. an implementation detail one should not expose
  • There is no formal contract/no description language
  • REST works with HTTP only, it’s not transport protocol independent (I shuddered when I wrote this)
  • No transactions
  • No reliability
  • No (message-based) security
  • No vendor/tool support
  • No asynchronous interactions
  • No pub/sub support

Did I miss any?

Comments

On February 26, 2008 1:40 PM, Gavin Terrill said:

Maybe not specifically REST, but implied:

  1. Partial updates
  2. Dealing with hierarchies
  3. Batch processing
On February 26, 2008 1:47 PM, Stefan Tilkov Author Profile Page said:

Thanks Gavin. I think these are much more uncommon and - coincidentally - much more justified :-)

On February 26, 2008 1:52 PM, Tim said:

Not object-oriented. [hysterical cackles]

On February 26, 2008 3:04 PM, Stefan Tilkov Author Profile Page said:

Thanks Tim :-) I think it’s been a long time since someone actually advocated pure object-oriented concepts for remote-orientation … Michi Henning excepted, of course. OTOH, Mark Baker has been fond of arguing that he kept his “distobj” email address because HTTP has more OO heritage than Web services …

On February 26, 2008 4:34 PM, Jean-Jacques Dubray said:
  • bi-directional inter-actions
  • hence no orchestration/choreography capability
  • lack of assembly model for resource inter-actions
  • no policies
  • events (real ones)
  • implementation versioning (the Identity/Access Key is tied to the latest “implementation” of the resource)
On February 26, 2008 4:41 PM, Stefan Tilkov Author Profile Page said:

Thanks JJ. I wouldn’t exactly call these common — with the exception of the policy and event aspects, I consider them rather “JJ-specific”. Do you see a difference between the “events” and the “pub/sub” doubt?

On February 26, 2008 10:18 PM, pwb said:

REST’s biggest problem, BY FAR, is that there is no practical, clear & consistent guidance on how to design it.

On February 26, 2008 10:37 PM, Stefan Tilkov Author Profile Page said:

Thanks! I couldn’t disagree more, but you are right that this comes up often.

On February 26, 2008 11:34 PM, Hartmut Wilms said:

I’ve got to agree with JJ on the versioning issue. Came up two times in a row, while I was giving talks on Service Design and RESTful Web Services.

I would also like to add “No Support for Concurreny” (he, he, one of my favorites!)

On February 27, 2008 12:06 AM, Anonymous said:

SOA is soooooooooo popular and I have never heard of REST.

[I actually hear this in my office :-( ]

On February 27, 2008 1:59 AM, Pete Lacey said:

You left off all the business level objections:

  • No tooling support.
  • Does not fit in with my chosen vendor’s go forward strategy.
  • Does not align IT with business
  • Does not play nice with my BPM solution
  • Does not play nice with my ESB
  • Does not have management buy in
On February 27, 2008 6:55 PM, pwb said:

“I couldn’t disagree more”

Then can you point to any practical, clear & consistent design guidance?

Why does every supposedly RESTful API set vary so much, if there even is general agreement that they are RESTful in the first place?

On February 27, 2008 8:19 PM, Stefan Tilkov Author Profile Page said:

I would argue that advice like this

http://www.xml.com/pub/a/2004/12/01/restful-web.html

is much more than you get anywhere in the WS world.

But I plan to write more about these doubts in an article — I’ll let all of you know once it’s online.

On March 11, 2008 3:22 PM, Bryan said:

All verbs, no nouns! What is that resource then? (And don’t tell me that mime-types are enough).

On March 18, 2008 10:37 PM, Marc de Graauw said:

Obviously you forgot #3 by a well-known authority in the field :-)

http://www.innoq.com/blog/st/2007/06/11/ws_advantages.html

On March 18, 2008 11:01 PM, Stefan Tilkov Author Profile Page said:

Thanks for the reminder :-) Let me take on those that I consider unfounded first. This is one of the few that I believe has merit.