rest

(Difference between revisions)

Jump to: navigation, search
(Topics)
Current revision (19:00, 20 December 2008) (view source)
m (Reverted edits by RicacElvir (Talk) to last version by DrErnie)
 
(18 intermediate revisions not shown.)
Line 1: Line 1:
= Microformats in REST Web Services =
= Microformats in REST Web Services =
-
This the home page for discussion, research, and standards regarding how to optimally use Microformats as the encoding for [http://en.wikipedia.org/wiki/Representational_State_Transfer REST] web services. The goal is for all REST-related information in the microformats world to live under this URL.
+
This the page for discussion, research, and standards regarding how to optimally use Microformats as the encoding for [http://en.wikipedia.org/wiki/Representational_State_Transfer Representational State Transfer (REST)] web services. REST is a software architectural style for distributed hypermedia systems like the world wide web. The goal is for all REST-related information in the microformats world to live under this URL.
-
== Discussion Forums ==
+
== Resources ==
* [http://microformats.org/discuss/mail/microformats-rest/ uf-rest] discussion list on microformats.org
* [http://microformats.org/discuss/mail/microformats-rest/ uf-rest] discussion list on microformats.org
* [http://groups.yahoo.com/group/rest-discuss/ rest-discuss] @ Yahoo Groups
* [http://groups.yahoo.com/group/rest-discuss/ rest-discuss] @ Yahoo Groups
 +
* [http://rails.campfirenow.com/a6dc1 REST on Rails] @ Rails CampfireNow
 +
* REST [http://search.restlet.org search engine]
 +
* [http://akamai.infoworld.com/weblog/stratdev/archives/Patterns.pdf Patterns for a RESTful SOA] great overview of concepts and techniques
== Topics ==
== Topics ==
Line 12: Line 15:
;[[rest/urls]]
;[[rest/urls]]
:How should URLs be structured for maximum clarity & discoverability?
:How should URLs be structured for maximum clarity & discoverability?
 +
;[[rest/property]]
 +
:How to emulate WebDAV-style properties (metadata) over standard HTTP
 +
=== HTML ===
=== HTML ===
;[[rest/ahah]]
;[[rest/ahah]]
-
:Asychronous HTML vs. AJAX
+
:Asynchronous HTML vs. AJAX
 +
;[[rest/datatypes]]
 +
:How to encode type information in HTML
;[[rest/description]]
;[[rest/description]]
:What, if anything, is the analogue of WSDL for REST services?
:What, if anything, is the analogue of WSDL for REST services?
;[[rest/webforms]]
;[[rest/webforms]]
:Upgrading browsers to support PUT and DELETE properly
:Upgrading browsers to support PUT and DELETE properly
 +
=== Implementations ===
=== Implementations ===
-
;[[rest/cgi]]
 
-
:CGI is slow, and FastCGI is designed for C parsers.  Is there a third option?
 
;[[rest/rails]]
;[[rest/rails]]
:Ways to make Ruby on Rails more REST-friendly out of the box.
:Ways to make Ruby on Rails more REST-friendly out of the box.
 +
;[[rest/json]]
 +
:[http://groups.google.com/group/restful-json RESTful-JSON], a generic data container [http://bitworking.org/news/restful_json alternative] to [http://tools.ietf.org/html/rfc5023 AtomPub].
 +
 +
=== Standards ===
=== Standards ===
* [http://www.ietf.org/rfc/rfc3205.txt HTTP as a Substrate] - Best Current Practice
* [http://www.ietf.org/rfc/rfc3205.txt HTTP as a Substrate] - Best Current Practice
Line 41: Line 52:
Note that these are all preliminary.
Note that these are all preliminary.
-
* [[http://www.opendarwin.org/~drernie/C395201355/rest-enabled-xhtml-20051019.html REST-Enabled XHTML]] by Dr. Ernie
+
* [http://www.opendarwin.org/~drernie/talk/rest-enabled-xhtml-20051019.html REST-Enabled XHTML]] by Dr. Ernie
** original at [[rest/rex-proposal]]
** original at [[rest/rex-proposal]]
* [http://restylab.php5.cz/dreams/webutopia.html WebUtopia] by Toydi
* [http://restylab.php5.cz/dreams/webutopia.html WebUtopia] by Toydi
Line 47: Line 58:
== Implementations ==
== Implementations ==
 +
 +
=== Atom-based alternatives ===
 +
* [http://ietfreport.isoc.org/idref/draft-ietf-atompub-protocol/ Atom Publishing Protocol]
 +
* Google's [http://code.google.com/apis/gdata/overview.html GData]
=== Tools ===  
=== Tools ===  
* [[xoxo-sample-code| XOXO parser (python)]]
* [[xoxo-sample-code| XOXO parser (python)]]
** also [http://www.opendarwin.org/~drernie/xoxo-plist.py xoxo-plist.py], a pyobjc variant support Mac OS X plists]
** also [http://www.opendarwin.org/~drernie/xoxo-plist.py xoxo-plist.py], a pyobjc variant support Mac OS X plists]
-
* [http://www.opendarwin.org/~drernie/ahah.js ahah.js] Asynchronous HTML over HTTP
+
* [http://www.opendarwin.org/~drernie/src/ahah.js ahah.js] Asynchronous HTML over HTTP
** was [http://epeus.blogspot.com/2005_05_01_epeus_archive.html#111588374981985824 JAH], an [http://technorati.com/tag/AJAX AJAX] alternative)
** was [http://epeus.blogspot.com/2005_05_01_epeus_archive.html#111588374981985824 JAH], an [http://technorati.com/tag/AJAX AJAX] alternative)
* Ruby RESTifarian plugin
* Ruby RESTifarian plugin
   $ script/plugin install restifarian # need beta gems/edge rails for this to work
   $ script/plugin install restifarian # need beta gems/edge rails for this to work
** See also prototype [http://www.onautopilot.com/oss/rails/rest_controller.rb controller]
** See also prototype [http://www.onautopilot.com/oss/rails/rest_controller.rb controller]
 +
* [http://wiki.jonnay.net/bunny/meditation/meditation Meditation] a PHP REST API Framework.
=== Examples ===
=== Examples ===
Line 62: Line 78:
=== Sites ===
=== Sites ===
* [http://www.larrystaton.com Larry Staton Jr.] AHAH-enabled homepage (a first!)
* [http://www.larrystaton.com Larry Staton Jr.] AHAH-enabled homepage (a first!)
-
 
== Participants ==
== Participants ==
* [http://www.opendarwin.org/~drernie/C395201355/index.html Dr. Ernie Prabhakar]
* [http://www.opendarwin.org/~drernie/C395201355/index.html Dr. Ernie Prabhakar]
-
* [http://restylab.php5.cz/ toydi]
+
* [http://restylab.php5.cz/ Teo HuiMing (toydi)]
* [mailto:dimitri.glazkov@gmail.com Dimitri Glazkov]
* [mailto:dimitri.glazkov@gmail.com Dimitri Glazkov]
* [http://www.xrest.org Max Voelkel (xamde)]
* [http://www.xrest.org Max Voelkel (xamde)]
* [http://www.loudthinking.com/ David Heinemeier Hansson]
* [http://www.loudthinking.com/ David Heinemeier Hansson]
 +
 +
== See also ==
 +
*[[rest/cgi]]

Current revision

Contents

Microformats in REST Web Services

This the page for discussion, research, and standards regarding how to optimally use Microformats as the encoding for Representational State Transfer (REST) web services. REST is a software architectural style for distributed hypermedia systems like the world wide web. The goal is for all REST-related information in the microformats world to live under this URL.

Resources

Topics

URLs

rest/opacity
Properly Interpreting the "Axiom of URI Opacity"
rest/urls
How should URLs be structured for maximum clarity & discoverability?
rest/property
How to emulate WebDAV-style properties (metadata) over standard HTTP

HTML

rest/ahah
Asynchronous HTML vs. AJAX
rest/datatypes
How to encode type information in HTML
rest/description
What, if anything, is the analogue of WSDL for REST services?
rest/webforms
Upgrading browsers to support PUT and DELETE properly

Implementations

rest/rails
Ways to make Ruby on Rails more REST-friendly out of the box.
rest/json
RESTful-JSON, a generic data container alternative to AtomPub.


Standards

Background Research

Examples

Brainstorming

Proposals

Note that these are all preliminary.

Implementations

Atom-based alternatives

Tools

 $ script/plugin install restifarian # need beta gems/edge rails for this to work

Examples

Sites

Participants

See also

rest was last modified: Saturday, December 20th, 2008

Views