I’m an RPC guy in my bones. I spent years of my life working with various remote procedure call technologies, so when SOAP came along, it seemed like the obvious next step on this path. To me, web services meant SOAP, period.
Then REST appeared.
When the RESTful approach first hit the scene, I wrote a short article describing it. At the end, I noted SOAP’s broad support, then closed with this:
Still, even though SOAP is already quite well established, the ideas embodied in REST are worth understanding. Web services are still new, and REST makes a remarkably interesting contribution to the technology.
For a SOAP guy in 2002, I thought I was being quite open-minded. The REST fans didn’t see it this way. My inbox sizzled with mail telling me that I was stupid for not immediately seeing REST’s innate superiority over the pure evil that was SOAP.
My response was to completely ignore REST for the next several years. I didn’t write about it, I didn’t speak about it, and I wouldn’t even take questions on the topic during talks on web services. I was convinced that REST was the religion of a small band of fanatics, and rude ones at that. The common appellation for a REST fan—RESTafarian—seemed very appropriate to me, derived as it was from the name of an actual religion. These people were true believers, and I couldn’t share their faith.
Yet REST was too cool to ignore forever. Once you get your mind around the approach (which doesn’t take long—it’s simple), REST’s beauty is evident. More important, REST’s utility is also evident. While SOAP and the WS-* protocols still have a significant role, REST is useful in many, many situations. To one degree or another, we’re all RESTafarians now.
There’s no better evidence of this than Microsoft’s embrace of REST in Windows Communication Foundation (WCF). While it’s wrong to view this as marking the end of SOAP, WCF’s REST support is a big endorsement from what was once the strongest bunch of SOAP advocates. Developers now have a single foundation on which to build all kinds of web services.
But while REST is simple, WCF is not. To really understand and exploit this part of WCF requires a knowledgeable and experienced guide. I don’t know anybody who’s better suited to this role than Jon Flanders. Along with being one of the smartest people I know, and one of the most capable developers, Jon is first-rate at explaining complicated things.
Even to a long-time RPC guy like me, it’s clear that RESTful services will be a big part of the future. This book is the best introduction I’ve seen to creating and using these services with WCF. If you’re a WCF developer looking to enter the RESTful world, this book is for you.