Hi,

Thanks for sending out the note.

In addition to the concern that I raised against your commit log, can you 
explain why we need to do transformation for local sca binding? I assume that's 
for distributed sca binding.

Raymond Feng
Sent from my iPhone

On Jul 27, 2011, at 7:51 PM, "Scott Kurz (JIRA)" <dev@tuscany.apache.org> wrote:

> 
>    [ 
> https://issues.apache.org/jira/browse/TUSCANY-3894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072148#comment-13072148
>  ] 
> 
> Scott Kurz commented on TUSCANY-3894:
> -------------------------------------
> 
> I checked in some more changes here, so let me explain.
> 
> From the runtime side, in r1151632,  I refactored the local part of 
> sca-binding-runtime so that the exact details of the data transform are 
> extensible.
> I'm creating a new interface, BindingSCATransformer which I'll implement to 
> handle the transform details.
> 
> My thought is that the base portion of the binding  will do things like 
> calculate whether to do the pass-by-reference optimization and establish 
> other aspects of the invoker/interceptor chain.  This will be handled in 
> DefaultLocalSCAReferenceBindingProvider, which will also compute the WSDL 
> contract, in case the transform needs it, as well as return the 
> ComponentTypeRefIC to disable the DataTransformationInterceptor.    So we're 
> always initiating data transform from the binding, not via 
> DataTransformationInterceptor on the wire, just to reiterate.
> 
> In my scheme, the BindingProviderFactory impl will create a ref binding 
> provider which will potentially extend the base 
> DefaultLocalSCAReferenceBindingProvider by providing its own 
> BindingSCATransformer (and possibly a different databinding then the DOM 
> default one I'm using).
> 
> There are now two provider factories, each resulting in a different 
> BindingSCATransformer being used.
> 
> The first, the default, maintains the current behavior we're used to.   
> Notably, it:
> - uses Mediator.copyXXX rather than Mediator.mediateXXX, which notably does 
> not use the JAX-WS wrappers
> - has RMI-like referential integrity for parameters (see earlier comments)
> - for POJOs, preferes Java serialization (if java.io.Serializable), then 
> JAXB/XML serialization
> 
> The second is an XML-centric databinding.  Some notes:
> - It's built via pointing to XMLWFLocalSCABindingProviderFactory in the 
> extension point, which builds the XMLWFBindingSCATransformer.
> - relies on building a WSDL InterfaceContract to be used along with 
> Mediator.mediateXXX
> - uses a DOM databinding (since there's been a move to avoid AXIOM if 
> possible), but this could easily be switched in another impl with little code
> - The XMLWFLocalSCAReferenceBindingProvider actually extends the 
> DefaultLocalSCAReferenceBindingProvider, the provider in the first, default 
> impl.
> 
> I would like to add a weighting to the various binding provider factories, 
> and ideally polish things up a bit.  However, there are a couple more JIRAs I 
> need to open after noticing some side effects, and it seemed easiest to have 
> something concrete in the trunk to refer to.   
> 
> So by committing this code I have: 
> - enabled the use of separate databindings across client/service 
> - allowed extension with reuse of the PBR calculation.
> 
> Scott
> 
>> Binding.sca local behavior:  copy vs. mediate, same-databinding assumption
>> --------------------------------------------------------------------------
>> 
>>                Key: TUSCANY-3894
>>                URL: https://issues.apache.org/jira/browse/TUSCANY-3894
>>            Project: Tuscany
>>         Issue Type: Improvement
>>         Components: SCA Java Runtime
>>   Affects Versions: Java-SCA-2.x
>>           Reporter: Scott Kurz
>>           Assignee: Scott Kurz
>>           Priority: Minor
>>            Fix For: Java-SCA-2.0
>> 
>>        Attachments: 3894.patch, 3894.tests.patch
>> 
>> 
>> As discussed in: https://issues.apache.org/jira/browse/TUSCANY-3884
>> the binding-sca-runtime code seems to assume that the reference/service 
>> sides share a common databinding, which might not be a desirable limitation. 
>>  
>> Also the object reference graph of copy vs. mediate seems to be different, 
>> which might not be preferable either.
>> Just working on some tests now before commenting further, however I wanted 
>> to open this up to move the discussion out of the 3884 JIRA, to avoid 
>> confusion as this is a separate issue from simply adding the ability to 
>> delegate.
> 
> --
> This message is automatically generated by JIRA.
> For more information on JIRA, see: http://www.atlassian.com/software/jira
> 
> 

Reply via email to