rest

From Microformats

(Redirected from rest/)
Table of 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) (http://en.wikipedia.org/wiki/Representational_State_Transfer) 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 (http://microformats.org/discuss/mail/microformats-rest/) discussion list on microformats.org
  • rest-discuss (http://groups.yahoo.com/group/rest-discuss/) @ Yahoo Groups
  • REST on Rails (http://rails.campfirenow.com/a6dc1) @ Rails CampfireNow
  • REST search engine (http://search.restlet.org)

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 (http://groups.google.com/group/restful-json), a generic data container alternative (http://bitworking.org/news/restful_json) to AtomPub (http://tools.ietf.org/html/rfc5023).


Standards

  • HTTP as a Substrate (http://www.ietf.org/rfc/rfc3205.txt) - Best Current Practice
  • text/uri-list (http://www.faqs.org/rfcs/rfc2483.html) (Section 5, URI Resolution Services)

Background Research

Examples

Brainstorming

Proposals

Note that these are all preliminary.

Implementations

Atom-based alternatives

  • Atom Publishing Protocol (http://ietfreport.isoc.org/idref/draft-ietf-atompub-protocol/)
  • Google's GData (http://code.google.com/apis/gdata/overview.html)

Tools

  • XOXO parser (python)
    • also xoxo-plist.py (http://www.opendarwin.org/~drernie/xoxo-plist.py), a pyobjc variant support Mac OS X plists]
  • ahah.js (http://www.opendarwin.org/~drernie/src/ahah.js) Asynchronous HTML over HTTP
    • was JAH (http://epeus.blogspot.com/2005_05_01_epeus_archive.html#111588374981985824), an AJAX (http://technorati.com/tag/AJAX) alternative)
  • Ruby RESTifarian plugin
 $ script/plugin install restifarian # need beta gems/edge rails for this to work
    • See also prototype controller (http://www.onautopilot.com/oss/rails/rest_controller.rb)
  • Meditation (http://wiki.jonnay.net/bunny/meditation/meditation) a PHP REST API Framework.

Examples

  • DARC (http://www.opendarwin.org/~drernie/C499496031/E20051019100520/index.html): Darwin-Apache-Rails-CoreData
  • TurboGear (http://www.opendarwin.org/~drernie/C499496031/E20051026153908/index.html) AddressBook (Mac OS X-only)

Sites

  • Larry Staton Jr. (http://www.larrystaton.com) AHAH-enabled homepage (a first!)

Participants

See also

Personal tools