New Webcast: Understanding REST
Posted by Dan Rigsby on September 11th, 2008
I have a new 12 min 0 sec training webcast out over REST. This video is designed to explain REST at an architectural level, without diving into how to implement it in any specific language. This complements a recent presentation I have been giving called “RESTing on the Web with WCF”.
The video available through JupiterMedia and can be viewed at http://www.internet.com/video/. Just look for the "Developer Video" titled "Understanding REST".
Direct links are:
http://link.brightcove.com/services/link/bcpid1431564240/bclid1433966034/bctid1788889483
http://www.internet.com/player/index.php?bcpid=1431564240&bclid=1433966034&bctid=1788889483

















September 12th, 2008 at 3:59 pm
Overall I thought the Webcast provided a good summary and overview of REST. It’s very hard to take REST, which is such a broad topic with very debatable/controversial aspects, and boil it down to a 101 level intro.
I would like to counter two of the items you listed as disadvantages to REST, namely Metadata and the filesize drawbacks.
You mentioned XSD for metadata in SOAP. There is absolutely nothing stopping one from creating and referencing a schema for the resulting XML by attaching the
XMLSchema-instancenamespace and adding theschemaLocationattribute to an XML document. In fact, linking to the schema in this manner follows RESTful principles by referencing other resources through links.With respect to the filesize issue, HTTP has a built-in mechanism for handling large files. This is accomplished by the server and client using the following headers:
Accept-Ranges,Content-Length,Content-Rangealong with the206 Partial ContentResponse code.One thing missing from the disadvantages, however, was the issue of authentication. I have yet to see a working example of high-REST that included authentication.
Lastly, I think the issue of idempotent requests was missing when discussing the 4 main HTTP methods. To me, that is what distinguishes a POST vs PUT (PUT should be idempotent, while POST needn’t be). Also, one should PUT an item directly to a resource URI to create it, while POSTing an item to its parent collection to create it. But this gets into implementation details that don’t belong in an introductory webcast anyway!
Great Webcast!
September 12th, 2008 at 4:47 pm
Good comments. With the XSD remark I was more refering the what operations were available, the structure of the urls, and automatic pull down of XSD. You could of course have another REST endpoint that returns back the XSD for the expected and returned types.
I did think about adding idempotent requests, but felt it was getting into the details too deeply (I tried to make this a 6 minute video but still failed). Thanks for adding this comment.
Thanks!
September 25th, 2008 at 8:58 am
[...] webcast up over adding REST support to a WCF application. This video builds on top of the Understanding REST video. If you have a decent understanding of REST, you don’t necessarily need to watch that video [...]
November 7th, 2008 at 7:54 am
[...] namespace to create and consume RSS or Atom feeds. It builds on top of the Understanding REST video, but understanding of REST is not necessary. This video also complements a recent presentation I [...]