Lists Home |
Date Index |
On Thu, 31 Mar 2005 10:34:18 -0500, Mark Baker <firstname.lastname@example.org> wrote:
> To keep it simple, I'll just focus on GET. The "verify", "check", and
> "determine" actions you mention above all seem to map well to it.
I don't buy that. GET has well defined semantics that don't map in
any obvious way to a conventional meaning of "verify". Sure, you
could define an interface contract (or whatever the RESTifarian term
for that is) that says something like "GET the URI returned by the
POST of the order and find the VerifyOrder element and GET that URI,
if it returns a 200 your order was accepted" or whatever. I don't
dispute that HTTP provides some very nice and universally deployed
tools for this that sensible people should use whenever practical. I
dispute that there is a simple and direct mapping from the actions /
services in a non-trivial distributed application to the HTTP verbs.
It can be done, but you don't get it for free as a "uniform
> Using SOA, with separate "verify", "check", and "determine" operations,
> in order to get the resulting data from those actions in the hands of a
> single client component, that component has to be developed with support
> for all three operations. If a new "get me data"-like operation is
> added, which isn't "verify", "check", or "determine", then that
> client needs to be upgraded to support it too.
In a resource-oriented architecture, new features are handled by
defining new URIs to manipulate,, new interpretations of HTTP return
codes, new synatax or semantics of the documents transferred,
whatever. How can clients nott need to understand those details in
order to use the features? Or better yet, point me to a concrete
example on the Web.
Dare mentions than in a service-oriented aggregator, " If later on a a
new service shows up (e.g. getRecentBookmarks() to get RSS feeds from
del.icio.us) then the client has to be upgraded." Sure, but
SOMETHING on the client has to change in a RESTful version as well ...
not the method for retrieving data, which can be GET, but the logic
for doing anything that understands the distinction between a news
story and a bookmark has to come from somewhere. Unless of course
your are just treating news items and bookmarks as text to be shown to
the user ... I completely agree that SOA is massive overkill if the
"service" being offered is getting arbitrary stuff from the web and
> Using the uniform interface, a client need only support the GET
> operation in order to retrieve data from all services, past, present,
> and future.
Retrieve data, sure. Doing anything useful with the data requires
the same old shared understanding about schemas and semantics that
everyone else struggles with. Maybe the Semantic Web will make that
all work Real Soon Now. Been hearing that for a Long Time Now. .Until
then you get no free lunch at the RESTaurant.