Hi, This is great. I would like to see a bit more integration between SCA and JAX-RS to leverage the best of both worlds. Here are some ideas I'm experimenting:
1) If the component that exposes the REST binding is a JAX-RS application/resource, we can register a JAX-RS runtime specific servlet within the binding.rest provider. This way, the JAX-RS runtime will take care of all the JAX-RS related handling, including URL mapping and dependency injection. 2) If the component service interface is an interface using JAX-WS annotations, we can generate a JAX-RS resource class on the fly. The resource class in turn delegates the methods to an SCA proxy that represents the target component service. This way, we can define a "RESTful" interface for any SCA component implemented using non-JAXRS technologies. For 1 and 2, we can register a JAX-RS provider that can use Tuscany's databinding framework to handle resource representations beyond the built-in types supported by the JAX-RS runtime. 3) Otherwise, we either use customized WireFormat and OperationSelector to deal with the URL mapping and data representations to make the component RESTful. Thanks, Raymond ________________________________________________________________ Raymond Feng [email protected] Apache Tuscany PMC member and committer: tuscany.apache.org Co-author of Tuscany SCA In Action book: www.tuscanyinaction.com Personal Web Site: www.enjoyjava.com ________________________________________________________________ On May 3, 2010, at 7:15 PM, Luciano Resende wrote: > I have started working on a REST Binding, and the basic functionality > is now available. The current functionality is documented at [1] or > [2] and some scenarios are available as interface-java-jaxrs and > binding-rest-runtime unit tests. > > I'll continue to work some additional functionality on the next couple > weeks on the following areas : > - Allow RPC style calls over HTTP GET operation > - Tide up cache control functionality and allow declarative cache > control with possible field injection > - Investigate possible integration between implementation.jaxrs and > binding.rest > - Investigate possible integration with existent JAX-RS runtime to > provide JAX-RS parsing/matching of JAX-RS annotations > - Provide a store sample application based on RESTFull services > > [1] > https://cwiki.apache.org/confluence/display/TUSCANYxDOCx2x/SCA+Java+binding.rest > [2] http://tuscany.apache.org/documentation-2x/sca-java-bindingrest.html > > > -- > Luciano Resende > http://people.apache.org/~lresende > http://twitter.com/lresende1975 > http://lresende.blogspot.com/
