Since 2002 (and .NET Framework 1.0) many of us have digging into Web Services based on SOAP, WSDL and the WS-* specification universe. In 2005 I started to get concerned about the complexity that WS-* was bringing, when ultimately in many scenarios I just wanted to "get something from A to B". I found myself increasingly steering folks away from anything more than simple SOAP – and from time to time I started pointing at a HTTP+XML based solution over SOAP to get great interop. Then in early 2007 I came across REST (short for REpresentational State Transfer) and liked what I heard. A year on and REST is moving away from a niche approach (albeit with a vocal following) to being mainstream (still with a vocal following). Visual Studio 2008 gave us REST support in WCF, Visual Studio 2008 SP1 introduces a REST only way of working with data and operations (ADO.NET Data Services) and the upcoming SQL Server Data Services will be delivered with a SOAP and a REST based interface.
Hence – there couldn’t be a better time to understand REST in more detail. Which is why these InfoQ articles caught my eye. I would recommend you set aside 30mins to give them a read through. Enjoy.
- A brief introduction to REST http://www.infoq.com/articles/rest-introduction
- Addressing doubts about REST http://www.infoq.com/articles/tilkov-rest-doubts
- REST Anti Patterns http://www.infoq.com/articles/rest-anti-patterns
I especially liked anti-patterns and the first one "Tunnelling everything through GET". I can easily see why folks might do this. I have seen it already in Architecture sessions we have done in the UK. To be clear – this is bad:
But you will probably need to read the articles to be certain why it is bad 🙂
And finally, some more fun with Zoho