rest: Difference between revisions
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 | 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. | ||
== | == 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]] | ||
: | :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/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
- uf-rest discussion list on microformats.org
- rest-discuss @ Yahoo Groups
- REST on Rails @ Rails CampfireNow
- REST search engine
- Patterns for a RESTful SOA great overview of concepts and techniques
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
- HTTP as a Substrate - Best Current Practice
- text/uri-list (Section 5, URI Resolution Services)
Background Research
Examples
Brainstorming
Proposals
Note that these are all preliminary.
- REST-Enabled XHTML] by Dr. Ernie
- original at rest/rex-proposal
- WebUtopia by Toydi
- more details in rest-discuss thread: "Dreams about ReSTifying web apps"
Implementations
Atom-based alternatives
- Atom Publishing Protocol
- Google's GData
Tools
- XOXO parser (python)
- also xoxo-plist.py, a pyobjc variant support Mac OS X plists]
- ahah.js Asynchronous HTML over HTTP
- Ruby RESTifarian plugin
$ script/plugin install restifarian # need beta gems/edge rails for this to work
- See also prototype controller
- Meditation a PHP REST API Framework.
Examples
Sites
- Larry Staton Jr. AHAH-enabled homepage (a first!)
Participants
- Dr. Ernie Prabhakar
- Teo HuiMing (toydi)
- Dimitri Glazkov
- Max Voelkel (xamde)
- David Heinemeier Hansson