rest/rex-proposal

(Difference between revisions)

Jump to: navigation, search
(typos, integrate Dimitri's changes)
(REX (was DUHPER) - thanks to Stephen Downes for the name)
Line 1: Line 1:
-
= DUHPER: A Dual-Use HTML Profile Expressing REST =
+
= REX: REST-Enabled XHTML =
== The 0.8% Solution for Web Services ==
== The 0.8% Solution for Web Services ==
-
=== aka XOXR ("Shocker"): eXtensible Open XHTML-REST ===
+
==== October 19th, 2005 ====
-
==== October 18th, 2005 ====
+
 
 +
= What is REX? =
 +
* "Design Pattern" for Web Services
 +
** Architectural approach
 +
** Not a specific technology implementation
 +
** cf. DHTML, AJAX, REST, etc.
 +
* Specific profile for REST
 +
** XHTML microformats as the data format
 +
** Browser-compatible invocations
 +
** Human-friendly conventions
 +
** Trivial to implement with existing tools
= Web Services: The Opportunity =
= Web Services: The Opportunity =
Line 164: Line 174:
** research: http://microformats.org/wiki/rest-examples
** research: http://microformats.org/wiki/rest-examples
** blog: http://www.opendarwin.org/~drernie/
** blog: http://www.opendarwin.org/~drernie/
-
** This presentation: http://microformats.org/wiki/duhper-proposal-preso
+
** This presentation: http://microformats.org/wiki/rex-proposal-preso

Revision as of 23:58, 19 October 2005

Contents

REX: REST-Enabled XHTML

The 0.8% Solution for Web Services

October 19th, 2005

What is REX?

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
Extensibility
What if your schema isn't 100% right?
Comprehensibility
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>sub-item #1</li>
       <li>sub-item #2</li>
 </ol></dd>
</dl>

Challenge #2: Only Two Verbs

Overload URI with actions? No!
Web 2.0 is an constructive medium
Don't store a document; ask for creation
POST parent&key1=value1 => child URI
Don't overwrite documents; update
POST child&key1=value1 => new child URI
Don't delete a document; flag for removal
POST child&shouldDelete=true

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