Are you ready for a REST?

Many architects and developers are integrating services into their strategies and projects. There are two main delivery mechanisms with services (from a mainstream, standards perspective). You can use SOAP, or you can use REST.

There have been wars for a long time around which is better, easier to use, and has less impact on the global environment. This post isn’t about that. My answer as to which one you should use is ‘It Depends.’

SOAP has all of the enterprisey-goo that we typically need at the core of our systems. Transactions, Strong Typing, Routing, Security, Extensibility, etc. These are all planned out with WS-* standards for platform interoperability. REST, on the other hand, is simple, lightweight, easy to use, and very straightforward.

I think most organizations will end up with a measure of both in their environments. I think SOAP will be more prevalent at the core of your enterprise, with REST at the edges that touch other enterprises and the public at large.

When we shipped WCF 3.0 (a long time ago it seems), we shipped complete support for all of stable and adopted WS-* protocols, so that enterprises could start building really great services in their infrastructure.

Then REST hit. REST is one of those overnight successes that take ten years to happen. Everyone has had a REST based application on their desktop for at least ten years, if not longer. It’s called your web browser.

Did we have to develop a new platform and framework for REST on .NET? No. WCF isn’t a WS-* stack, it’s a communications framework, that was built to handle changes in how we format and send messages. So adding REST to WCF wasn’t all that hard. There was some basic support in WCF 3.5.

But there is always room for more support, and customers are always looking to us for best practices, and other guidance. In order to support this need, we have launched the REST Developer Center, and the WCF REST Starter Kit on CodePlex.

The starter kit has been released as a preview. We have put it on CodePlex so our customers can use the bits, and give us feedback on how to improve it before it ships.

From the site:

The WCF REST Starter Kit Codeplex Preview 1 release provides new features that enable or simplify various aspects of using the http capabilities in WCF, such as caching, security, error handling, help page support, conditional PUT, push style streaming, type based dispatch and semi-structured XML support. The WCF REST Starter Kit also provides Visual Studio templates for creating REST style services such as an Atom feed service, a REST-RPC hybrid service, Resource singleton and collection services and an Atom Publishing Protocol service. In addition, there are samples, documentation and other guidance that help to use these new capabilities.

A friend of mine, Jesus Rodriguez, who is about as all knowing about services as you can get (and who has a bad habit of trying to sabotage me at conferences the night before I speak) is going to start a series on the WCF REST Starter Kit. So go read his first post on how to add caching to REST.

Comments

Popular posts from this blog

Farewell

How does an Architect pack?

Job security is a myth, and how IT Pros are Thriving