Tuesday, November 25, 2008

REST of SOA

So last week at AdobeMAX I did my first public presentation on doing REST and SOA together. Thanks to Duane for that and to the person who dropped out leaving me with the baby :)

Now I know they recorded the audio and video so when I find that I'll link to it.

What I said was that the REST model works in the interactional space of applications, especially in those which are focused around data navigation. I admitted that I found it a bit fan-boyish when it first came out but that there are areas where it does deliver value.

Thanks to Ben Scowen I had a whole set of detail around REST as he has done a massive REST Web programme, so kudos to Ben on that. I also wanted to make sure that people who attended would have some real detail around REST rather than just the picture presentations I normally use.

My major bit on the presentation around REST was the concept of state management in REST and the fact that (for me) this is the bit that really differentiates REST and which is the hardest to get your brain around.

The other major bit was the concept of thinking about the services and then using the URIs and methods as the way to separate the implementation of the services, I used an internal example as a way to do that.

So until Adobe release the audio et al, here is just the powerpoint


What I said throughout was that it was about picking the right tool for the job and understanding what works right in your environment. Some people followed up with questions afterwards that indicated that REST isn't quite the happy place for everyone.

Technorati Tags: ,

5 comments:

Stefan Tilkov said...

Steve Jones presents REST, and in related news, hell just froze over :-)

scott said...

His tongue was firml in his cheek, and he had his fingers crossed.

Anonymous said...

some notes - resources don't have anything to do wtih the db or the OO object ..

REST is an interface model. Resources are just the entities in that interface model. Whether that directly maps down to an actual object or to a million objects is not a concern. See Roy's blog post on Paper Tigers.



HTTP Post doesn't imply creation of a new resource- it may also be you requesting a computation from the server. When you submit a form, it is not necessary that a new resource is to be created.


Instead of URL parameter , HTTP Headers can also be used to tunnel the HTTP Method - x-http-method=put is used by google somewhere, iirc.(the ?tunnelmethod= really look ugly! :)

Steve Jones said...

Actually I said that REST was good in the interactional space, I've always said that Hell was an interesting place anyway :)

To Anon:

I agree on resource not being directly related to the DB or an OO object, but it does help people understand what it is and quite often that is what happens, so I wouldn't go as far as saying they don't have anything to do with resources.

Agreed on HTTP Post it can do more (e.g. multiple resource updates), although I'm not sure about requesting a computation as shouldn't that be a get?

On the tunnel, just read up on that, cheers for the pointer, still bloody ugly though (and prone to the issues of GET limits)

Mark Little said...

Hi Steve. "... and to the person who dropped out leaving me with the baby :)" yes, that was me :-( Anyway, glad it seemed to go ok.