+1 to all of this. I am looking for a way to do REST that allows mapping
of verbs & URIs to different operations. One idea I had before is this:
http://netzooid.com/blog/2006/05/22/an-attempt-at-a-rest-programming-model/
I think one thing to look into is the WSDL2 support for HTTP, it is more
RESTy, but its definitely not perfect.
- Dan
Steve Vinoski wrote:
Hi Jervis,
A few comments. First, "few verbs" is not a key idea of REST. Rather,
the REST architectural style promotes a uniform interface constraint,
where all resources support the same exact interface. The interface
ends up being small only because it has to be general purpose, not
because REST requires it to be small. For HTTP-based systems, the
REST uniform interface is the collection of HTTP verbs, primarily GET
and POST.
Second, putting the verb in the URL is a Really Bad Idea™. URIs
identify resources and application states, not operations. The verb
is specified by the protocol. If you're really going to support REST,
you're probably going to implement it using HTTP, in which case you
need a raw HTTP binding if you don't already have one. But then that
in turn begs the question of what such a binding would offer over a
plain ol' servlet. Alternatively, REST can be implemented using
protocols other than HTTP, but I'm not sure going down that path
would buy you anything.
There's much more I could say about what you've written in the wiki,
but let me cut it short and simply ask this: what are the goals of
having CXF "support REST"? Who or what does it benefit? What kinds of
systems do you envision making use of that support? Considering these
questions and their possible answers within the constraints of the
REST architectural style [1] is the only way to get this truly right,
IMO.
--steve
[1] <http://www.markbaker.ca/Talks/2004-xmlself/slide4-0.html>
On Sep 7, 2006, at 11:37 AM, Liu, Jervis wrote:
Hi, I have put the REST support proposal on wiki for your review.
Any comments are welcome.
http://cwiki.apache.org/confluence/display/CXF/REST+Support
Cheers,
Jervis
--
Dan Diephouse
(616) 971-2053
Envoi Solutions LLC
http://netzooid.com