rest: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m (Reverted edits by RicacElvir (Talk) to last version by DrErnie)
 
(14 intermediate revisions by 7 users 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]]
;[[rest/datatypes]]
:How to encode type information in HTML
:How to encode type information in HTML
Line 23: Line 29:


=== 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 50: 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 ===  
Line 59: Line 71:
   $ 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 65: 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 ==
Line 73: Line 85:
* [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]]

Latest revision as of 19:00, 20 December 2008

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

  • DARC: Darwin-Apache-Rails-CoreData
  • TurboGear AddressBook (Mac OS X-only)

Sites

Participants

See also