Wednesday, July 02, 2008

RESTful Web Services

I've been learning about REST for the last month or so and I quickly learned there was an awful lot of rubbish written out there, both supporting REST and bashing it.

Many of the REST guides that have been written just aren't that convincing. Luckily some of the more recent posts, including REST Anti-Patterns by Stefan Tilkov, are much better written and really look to be focusing on the details.

Anyway along with reading a lot of content on the Web I've been reading RESTful Web Services and I thought I'd write a quick review.

Essentially the book is well worth a read, it covers a lot of what you'll want to know about REST including fundamentals and some best early practices.

Some aspects of it did bother me a little. The first was that the code examples were mainly in Ruby, having equivalent examples in Java or C# might have been good. Secondly the examples focused on Web applications, for example a social bookmaking app written in Ruby on Rails, and I did feel an example of a more standard enterprise application might have helped.

Anyway I intend to give parts of the book a second read and I'd definitely recommend it to anyone wanting to know more about REST.

Share This - Digg It Save to del.icio.us Stumble It! Kick It DZone

5 comments:

  1. Good post. I'm in the middle of reading RESTful web services (as you saw and commented on Twitter).

    The code being in Ruby was actually pretty cool for me because I just finished reading Ruby Design Patterns.

    Also the web aspect is okay, but I do agree a more generalized enterprise architecture aspect would have been better.

    I'm going to check out the anti-patterns stuff you mention.

    Thanks.

    ReplyDelete
  2. After having my brain fart in my last comment I realized:

    REST doesn't exist without HTTP, aka the web. When you state the you want a more enterprisey example, what do you mean?

    ReplyDelete
  3. I was really just thinking more examples of the sorts of problems that you would meet if you tried to use REST Web services within and between organizations.

    Stefan Tilkov was actually good enough to provide this link when I commented on the anti-patterns post:

    http://bitworking.org/news/201/RESTify-DayTrader

    My feeling is/was that when you come to use REST within an organization you'll meet issues thhat the examples in the book don't really address but I could be wrong.

    ReplyDelete
  4. Gotcha. Excellent.

    Thank you for the link, that is an awesome example of how to implement REST.

    I definitely understand when books and blogs don't give "real-world" examples. It makes it hard for us to learn just from those items. I usually only look at them as starting points.

    Only a few bloggers share the scar tissue, even though I thought that was what blogging was all about.

    ReplyDelete
  5. Yeah I think thats a very good point, I'm guilty of it too.

    I'd originally hoped that I'd get a lot of good REST stuff online but although the quantity is high the quality seems to be quite mixed, and a lot of it is low on evidence or details.

    Guess I could just try out REST for real, but even then I'm not sure whether to look at sending HTTP requests directly or use the RESTful WCF stuff or look at a framework...so many choices.

    Are you still playing with Snooze, I had a look after you mentioned it and I like the interface a lot.

    ReplyDelete