Assumptions about non-POST methods in Web description

Most of the Web description proposals that I've seen model methods as  
discrete things in the context of a resource, e.g.,

<resource name='Example'>
   <method name="GET">
     <representation type="text/html">...</representation>
      ...
   </method>
   <method name="PUT">
     <representation type="text/html">...</representation>
      ...
   </method>
   <method name="POST">
     ...
   </method>
</resource>

I'm wondering if this is a good approach. While it makes sense to  
differentiate these things in code (because you need to glue the  
different methods to the implementation), it seems to me that non- 
POST methods are special; they have fixed, well-known semantics and  
operate on the state of the resource.

Because of this, I'm wondering if it makes more sense to talk about  
the state of the resource as a first-order concept in the  
description, rather than operations on it (which don't need as much  
description); e.g.,

<resource name="Example">
   <representation type="text/html">
      <allow>GET PUT</allow>.
      ...
   </respresentation>
   <post>
      <input type="...">...</input>
      <output type="...">...</output>
   </post>
</resource>

That's just a straw man, I can see other formulations. The point is  
to encourage people NOT to think of this in terms of WSDL operations.

Thoughts?

--
Mark Nottingham     http://www.mnot.net/

Received on Tuesday, 21 March 2006 17:10:47 UTC