RESTful Web Services

This series of posts seeks to define and demonstrate RESTful web services within a Resource Oriented Architecture. Most of this information is based on Leonard Richardson’s and Sam Ruby’s book “RESTful Web Services” 1 and Dr. Roy Fielding’s doctoral dissertation “Architectural Styles and the Design of Network-based Software Architectures – Chapter 5″ and several of his other writings. 2, 3, 4, 5.

The culmination of this research is my RESTful Jazz Artist web service. You can try it out by navigating to the bookmark URI or a simple client side application that allows you to inspect the response header and XML data.

  • RESTful Web Services for Resource-Oriented Architectures (ROA) – Part 4 – Statelessness The second constraint Dr. Fielding places on RESTful architectures is that of Statelessness. In a RESTful web service, “communication must be stateless in nature … such that each request from client to server must contain all of the information necessary to understand the request, and cannot take advantage of any stored context on the server. ...
  • RESTful Web Services for Resource-Oriented Architectures (ROA) – Part 3 – The Uniform Interface “The central feature that distinguishes the REST architectural style from other network-based styles is its emphasis on a uniform interface between components.”1 For a web service we use the HTTP protocol. And to create a RESTful a web service, we must use HTTP’s interface uniformly, i.e. the same way every service across the web uses ...
  • RESTful Web Services for Resource-Oriented Architectures (ROA) – Part 2 – HATEOAS In my last post on RESTful web services for Resource-Oriented Architectures, I focused on Addressibility and the URI of the resources.1 In this article, I’ll tackle Connectedness and its relationship to the REST constraint of Hypermedia as the Engine of Application State (HATEOAS).2 In the book RESTful Web Services, HATEOAS is described by Richardson and Ruby ...
  • WCF – Visual Studio 2010 REST Web Service Project Download Since I’ve had a few requests for a download of a Visual Studio project for a WCF REST web service, here’s a a working project that incorporates all the WCF and most of the REST tips from my blog to date. RESTFUL WCF Demo Please see my “About” page for copyright and disclaimer information when ...
  • WCF – Removing .svc from RESTful URIs Addressability is one of the four properties of Resource-Oriented Architectures. An application is addressable if it exposes the interesting aspects of its data set through resources. And resources are exposed through their unique URIs.1 By default, the endpoints of an IIS hosted WCF service have the service file name in their URLs.2 For example, http://www.mydomain.com/Service1.svc/resource1 While not ...
  • RESTful Web Services for Resource-Oriented Architectures (ROA) – Part 1 – URI My previous posts on RESTful web services focused on the nuts and bolts of building a WCF web service with Visual Studio 2010 and consuming that service with client side jQuery. Although that service is RESTful to the extent it follows Richardson’s and Ruby’s first rule of thumb for REST services, it is not ...
  • Consuming a RESTful web service with jQuery and Ajax In my last post, we created a REST WCF web service using Visual Studio 2010. In this article, we’ll write a client side web applicaiton that uses jQuery and Ajax to consume a REST web service. First, create an HTML page that includes a reference to a jQuery library, a <div> tag where we’ll display the ...
  • Creating RESTful WCF Web Services Using Visual Studio 2010 Representational State Transfer (REST) is an architectural style used to build distributed systems. First proposed in 2000 by Roy Thomas Fielding in his doctoral dissertation “Architectural Styles and the Design of Network-based Software Architectures”, REST is now, or will soon be, the predominant architecture for building web services. However, there’s a lot of discussion about ...

1. Richardson, Leonard and Ruby, Sam. RESTful Web Services. Sebastopol: O’Reilly Media, Inc., 2008. Ebook

2. Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures. Doctoral dissertation, University of California, Irvine, 2000.

3. Fielding, Roy Thomas. REST APIs must be hypertext-driven. Untangled – Musings of Roy T. Fielding, October 20, 2008

4. Fielding, Roy Thomas, et. al. RFC 2616 – Hypertext Transfer Protocol – HTTP/1.1. The Internet Society, June 1999

5. “The problem is that just being connected is not enough. Yes, it is important, ...Read more »


Posted by Roy T. Fielding at 4:04:29 PM