rest/rex-proposal

(Difference between revisions)

Jump to: navigation, search
(Challenge #2: Only Two Verbs)
Line 109: Line 109:
* Don't store a document: ask for creation
* Don't store a document: ask for creation
** POST parent&key1=value1 => child URI
** POST parent&key1=value1 => child URI
 +
* Don't edit document: create new revision
 +
** The concept of bottomless stack: each document is also a collection of its revisions, with the latest revision sitting at the top of the stack. After the number of revisions reaches the arbitrary size of the stack, oldest revisions fall off the stack into oblivion (note: size=1 and size=0 are possible, too)
* Don't delete a document: flag for removal
* Don't delete a document: flag for removal
** POST child&shouldDelete=true
** POST child&shouldDelete=true

Revision as of 14:23, 18 October 2005

Contents

DUHPER: A Dual-Use HTML Profile Expressing REST

The 0.8% Solution for Web Services

October 18th, 2005

Web Services: The Opportunity

Web Services: The Problem

The Answer(?): REST vs. RPC

Advantages of REST over RPC

Challenges of REST

Discoverability
No standard way to find services
Interoperability
Too many incompatible ways to encode links, data
Extensability
What if your schema isn't 100% right?
Comprehensability
What the heck does "state transfer" mean?

Proposal: A Dual-Use (X)HTML Profile

Three Challenges

Challenge #1: Machine-Parseability

What Are Microformats?

Kinds of Microformats

Example: hCard

<div class="vcard">
 <a class="url fn" href="http://tantek.com/">
  Tantek Çelik
 </a>
 <div class="org">Technorati</div>
</div>

Example: eXtensible Open XHTML Outlines

<dl class='xoxo'> <-- Dictionary -->
 <dt>Key #1<dt>
 <dd><ol> <-- Array -->
       <li>subitem #1</li>
       <li>subitem #2</li>
 </ol></dd>
</dl>

Challenge #2: Only Two Verbs

Challenge #3: Key-Value Data

The 0.8% Solution for Web Services

Advantages

Implications

For More Information

rest/rex-proposal was last modified: Wednesday, December 31st, 1969

Views