I think you are right, I read an article before, and what it said is
that the basic idea of REST is that it use the URI as a real resource
identifier rather than a remote procedure call which is not REST thinking.
For CXF, I think what we need to solve are two problems,
1. Will CXF need to be able to publish the RESTful service?
2. Will CXF need to be able to consume the RESTful service?
I think the answer is definitely YES, for the first one, the first step,
i guess we can use the Provider based xml/http to publish the Restful
service. then what we need is that for the xml/http it should be able to
get the http context from the transport.
For the consumer part, i guess what we need is that the client should be
able to send out the GET http request, and the URI it use can be
dynamically constructed.
What i haven't figure out is that the RESTful service will still need
WSDL? or what'll we benefit from the wsdl in RESTful service.
Cheers,
James.
Steve Vinoski 写道:
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