[microformats-discuss] STRUM, REST, and DETH
luke.arno at gmail.com
Wed Oct 12 06:36:51 PDT 2005
On 10/11/05, Dr. Ernie Prabhakar <drernie at opendarwin.org> wrote:
> Okay, I've been noodling some more about how to clarify the concepts
> behind STRUM, and particularly how it relates to REST.
> I've stripped the idea down further to something I call DETH: like
> REST, but more so. :-)
> DETH = Dictionaries Encoding/Transmitting HTML.
> I've started mocking it up on the forms-brainstorming page:
> DETH is intended to be the microformat (or HTML compound, whatever)
> for XHTML Basic Forms:
> That is, it is a stylized convention for how to parse useful
> information out of a human-readable structure. But not just any
> information. The goal, in fact, is to extract REST-compliant web
> services out of XHTML forms. Not only would this allow you to use a
> generic web browser to invoke/test these web services, but it also
> ensures that the API is (at least minimally, and possibly
> significantly) self-documenting.
> The idea is that a DETH web service is described by a URI, e.g.,
> "http//somesite.com/users". You can either:
> a) do a GET (with no body) against that URI, or
> b) do a POST containing a 'dl' dictionary or an url-encoding key-
> value list.
> The reply would contain at least one "class=deth" form or anchor
> which could be parsed to determine which messages could be sent as
> followup. And so on, and so on...
> To be sure, this is not a "full" REST solution. It wouldn't support
> PUT or DELETE, or any input more complicated than a dictionary. But
> that's the point -- the goal is to build the simplest possible system
> that does *any* useful work, so we can find out where the real
> pressure points are *in practice*. Hopefully this gets us 80% of the
> benefit with 20% of the effort. Actually, I think it is more like
> 51.2% (80x80x80) of the benefit with 0.8% (20x20x20) of the effort,
> but you get the idea.
I don't think I would call this REST. Sounds like XHTMLRPC.
More information about the microformats-discuss