Why GET is an application semantic

Hi everyone,

At the f2f, JeffM and I briefly discussed HTTP GET and whether or not it
was an application semantic.  Jeff initially claimed that it was not, so
I asked him what he thought one was.  IIRC, his reply included
"getPurchaseOrder".  I'd like to demonstrate why HTTP GET is an
application semantic the same as getPurchaseOrder, or
getStockQuote.

There are of course, many different RPC methods that can do the job of
retrieving a stock quote.  Some very specific ones would include;

getSunwStockQuoteRealtime()
getIbmStockQuoteDelayed()

The problem with these is obviously that they're not readily reusable.
They do one thing and one thing only.  So we typically generalize them
by parameterization; permitting a single method to be used for multiple
quotes, by moving identifying information away from the method name
and into the parameters.  An obvious next iteration would be;

getStockQuote( "SUNW", "realtime" );
getStockQuote( "IBM", "delayed" );

However, generalization doesn't have to stop there.  We could do this;

getQuote( "Stock", "SUNW", "realtime" );

Which would permit other types of quotes to be retrieved, such as
insurance quotes, quotes for auto repairs, etc..

Eventually however, generalization has to end.  I suggest that this
is as far as one can go with it;

get( http://nasdaq.org/quotes/stock/realtime/sunw )

otherwise known as;

GET http://nasdaq.org/quotes/stock/realtime/sunw

I hope that helps explain at least this little piece of Web
architecture.

MB
-- 
Mark Baker, CTO, Idokorro Mobile (formerly Planetfred)
Ottawa, Ontario, CANADA.               distobj@acm.org
http://www.markbaker.ca        http://www.idokorro.com

Received on Monday, 17 June 2002 12:48:51 UTC