REST

CSCE 242

University of South Carolina


José M. Vidal [1]
http://jmvidal.cse.sc.edu/talks/rest/ [2]

1 History

  1. Socket
  2. Protocols: SMTP, HTTP.
  3. RPC: XML-RPC, CORBA, SOAP.
  4. REST
Vinosky's history of RPC [5]

1.1 Protocols

1.2 RPC

2 REST

2.1 REST Main Ideas

  1. The server holds resources.
  2. Clients can get representations of these resources.
  3. URI [6] identifies each resource.
  4. All interesting data in app should be addressable by an URI.
  5. App is stateless.

2.2 Example:Delicious

2.3 HTTP for REST

  1. GET: retrieve a resource.
  2. PUT: modify an existing resource.
  3. DELETE: delete resource.
  4. POST: create subordinate resource.

3 JSONP

URLs

  1. José M. Vidal, http://jmvidal.cse.sc.edu
  2. http://jmvidal.cse.sc.edu/talks/rest/, http://jmvidal.cse.sc.edu/talks/rest/
  3. wikipedia:REST, http://en.wikipedia.org/wiki/Representational_State_Transfer
  4. RESTful Web Services, http://www.amazon.com/exec/obidos/ASIN/0596529260/ref=nosim/multiagentcom
  5. Vinosky's history of RPC, http://qconlondon.com/london-2009/file?path=/qcon-london-2009/slides/SteveVinoski_RPCAndItsOffspringConvenientYetFundamentallyFlawed.pdf
  6. wikipedia:Uniform_Resource_Identifier, http://www.wikipedia.org/wiki/Uniform_Resource_Identifier
  7. Delicious API, http://delicious.com/help/api
  8. JSONP, http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/
  9. Example, http://jmvidal.cse.sc.edu/talks/rest/delicious.html
  10. delicious' feeds, http://delicious.com/help/feeds

This talk available at http://jmvidal.cse.sc.edu/talks/rest/
Copyright © 2009 José M. Vidal . All rights reserved.

25 March 2009, 03:03PM