You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Luciano Resende <lu...@gmail.com> on 2010/02/12 02:47:41 UTC

TUSCANY-3459 - Full support for annotating interfaces with @Remotable attribute in the SCDL

TUSCANY-3459 describe a scenario where we have java interfaces that
are NOT annotated with the @Remotable annotation, but then marked
remotable in the SCDL using the new @Remotable attribute. In this
scenario, I found two issues in the Tuscany runtime :

   - Incompatibility of the ComponentService (marked remote in the
scdl) and the ComponentType (considered local) interfaces, and I have
raised an issue with the OASIS Spec with a proposal to relax the
interface compatibility check.

   - The other issue is related to how Tuscany checks the
componentType interface in order to identify if any data binding
transformation is required and when this interface is not annotated,
it is considered a local interface and all data binding
transformations will be skipped, failing the operation invocation. To
workaround this issue, I have local changes to
DataBindingRuntimeWireProcessor that checks for this particular
scenario and force the data binding introspection of the componentType
interface and use that to properly handle databinding transformations.
While these changes seems to be working, doing some of this changes in
the RuntimeEndpointImpl integrated with the
getComponentTypeServiceInterfaceContract seems a better place
(performance wise), but some of the dependencies are not available in
the tuscany-core module as of now.

Thoughts ?


[1] https://issues.apache.org/jira/browse/TUSCANY-3459

-- 
Luciano Resende
http://people.apache.org/~lresende
http://lresende.blogspot.com/

Re: TUSCANY-3459 - Full support for annotating interfaces with @Remotable attribute in the SCDL

Posted by Raymond Feng <en...@gmail.com>.
Hi,

I cleaned up the dependencies on core-databinding module under [1]. From the 
compilation perspective, it only adds databinding module in addition to what 
the core module has. There are a few runtime time dependencies such as 
databinding-jaxb and interface-java-jaxws. Some of samples and itests depend 
on that.

I see an opportunity to merge core-databinding into core. Without 
databinding, Tuscany can only run components with local interfaces. It's 
probably makes sense to include it in the core. If it happens, we can keep 
Luciano's changes in the core module. Any thoughts?

Back to the @remotable attribute, I think we should wait for some 
clarifications from the OASIS spec side. It seems to me that we pretty much 
don't differentiate local and remote interfaces any more with such changes.

[1] http://svn.apache.org/viewvc?rev=909221&view=rev

Thanks,
Raymond
--------------------------------------------------
From: "Luciano Resende" <lu...@gmail.com>
Sent: Thursday, February 11, 2010 5:47 PM
To: "tuscany-dev" <de...@tuscany.apache.org>
Subject: TUSCANY-3459 - Full support for annotating interfaces with 
@Remotable attribute in the SCDL

> TUSCANY-3459 describe a scenario where we have java interfaces that
> are NOT annotated with the @Remotable annotation, but then marked
> remotable in the SCDL using the new @Remotable attribute. In this
> scenario, I found two issues in the Tuscany runtime :
>
>   - Incompatibility of the ComponentService (marked remote in the
> scdl) and the ComponentType (considered local) interfaces, and I have
> raised an issue with the OASIS Spec with a proposal to relax the
> interface compatibility check.
>
>   - The other issue is related to how Tuscany checks the
> componentType interface in order to identify if any data binding
> transformation is required and when this interface is not annotated,
> it is considered a local interface and all data binding
> transformations will be skipped, failing the operation invocation. To
> workaround this issue, I have local changes to
> DataBindingRuntimeWireProcessor that checks for this particular
> scenario and force the data binding introspection of the componentType
> interface and use that to properly handle databinding transformations.
> While these changes seems to be working, doing some of this changes in
> the RuntimeEndpointImpl integrated with the
> getComponentTypeServiceInterfaceContract seems a better place
> (performance wise), but some of the dependencies are not available in
> the tuscany-core module as of now.
>
> Thoughts ?
>
>
> [1] https://issues.apache.org/jira/browse/TUSCANY-3459
>
> -- 
> Luciano Resende
> http://people.apache.org/~lresende
> http://lresende.blogspot.com/