A good majority of software developement at the present time revolves around the Namespace (or Classpath), Class Name, Method/Function[Object to process]/Attribute signature.
The Monad Project (Microsoft SHell, or MSH) implements a similar signature, but uses the term "Verb-Noun" to describe the various commands available.
This type of signature makes sense. Using some hacked notation that resembles a little of everything we should all understand (Domain (('Namespace ~||~ 'Classpath), :ClassName), Method(:Object, Attribute*)).
The RESTafarians stand behind the 'cruft' free approach to URI/IRI conventions, and yet there is no established signature specification as to what that means exactly.
The general approach makes sense:
Make the URI/IRI easy to remember/understand and you make it easier for your site visitors to access the various areas of your site, or the various capabilities of your weblication.
The SOAP folks understand the need for an address to invoke a transaction, but fail to recognize that quite a bit of implied information as to the desired transaction can be embedded into the URI/IRI itself, dumping a bunch of baggage in the process.
Since we can quite easily write a URI/IRI that looks like:
[protocol]://domain.foo/send/message/m.david
That maps quite nicely to the signature of:
(Domain (('Namespace ~||~ 'Classpath), :ClassName), Method(:Object, Attribute*))
and in doing so imply with this URI/IRI that we would like to send a message to m.david@domain.foo, then why don't we?
More of us instinctively understand the signature, it would make sense to even the non-geeks, and with a reduced number of verbs as compared to the unlimited potential of nouns these can be applied to we can easily create a standardized group of actions that we can all build against.
With this in mind, why are we wasting our time not using the URI/IRI to our advantage?
Thanks for taking the time to read. This stuff is important. Can we stop the religious war and just get our work done now?
Thanks :D
[END OF MINI-SERIES RANT]
TrackBack URL for this entry:
http://www.xsltblog.com/xslt-blog-mt/mt-tb.cgi/1388