A Developer's Guide to the WCF REST Starter Kit. Aaron Skonnard, Pluralsight August 2009 NOTE: This paper is based on the WCF REST Starter Kit Preview 2 release.
Windows Communication Foundation (WCF) 3.5 introduced a “Web” programming model for building RESTful services in .NET. Although WCF 3.5 lays a solid foundation for building a wide-variety of RESTful services, it still requires developers to implement a great deal of boiler-plate code for each RESTful service they build and to deal directly with important HTTP protocol features. The WCF REST Starter Kit provides a set of WCF extensions and project templates that aim to simplify REST development even further. In this whitepaper, we’ll fully explore the various WCF REST Starter Kit features and show you how can begin putting them to good use to handle some of the most common REST development scenarios today. Ever since the release of WCF 3.5, Microsoft has been working hard to make the process of building and consuming RESTful services even easier on the .NET platform.
If (! If (! A Guide to Designing and Building RESTful Web Services with WCF 3.5. Aaron Skonnard, Pluralsight October 2008 Overview From the point of view of REST, a “real” Web service is a service designed to embrace the “Web” from the ground up.
The Web has become the most successful distributed computing platform ever developed, thanks to years of investment and widespread usage. The Web platform includes concepts that you’re probably already familiar with like URIs, HTTP, and common data formats like XML, RSS/ATOM, and JSON. REST defines an architectural style based on a set of constraints for building things the “Web” way. Before immersing ourselves in the world of REST, we should review the essence of the Web platform as we know it today. Resource-Oriented Architecture On the Web, every resource is given a unique identifier, also known as a universal resource identifier (URI). Since a given URI uniquely identifies a resource, it can be saved for future use and shared with others. Fundamental HTTP Concepts Figure 1: Some common HTTP methods REST Defined ?
{username}? Hypermedia and forms. Updated (with a lot of new content) One challenge when building REST based systems is how can the client determine what it can do next?
There can be any number of clients each which need to interact with a system. How do they know HOW to interact? The WSDL approach is to offer a static snapshot of method calls on an API. That approach couples the client heavily to knowing everything about the server, including being coupled as to how things get processed.
Hypermedia (also referred to as Hypertext) is an answer. ) were envisioning the Web, linking was a key component of that design. With a hypermedia approach your server doesn’t only return data. Above the server returned a link for adding an item. What about evolvability? Older clients won’t know about the wish list. An additional benefit of the link approach has to do with the urls themselves. Jon Moore, a Technical Fellow at Comcast has a great talk / demonstration on how this works which he delivered at Oredev. So now we have links.