Hi Raymond,

Thanks.   I have started with this and here are a couple of questions that I
need help with.

I believe the PassByValue Interceptor is good to be on the Inbound
Invocation chain of the server component.  Accordingly I looked up the
DataBindingWirePostProcessor's method -
"public void process(OutboundWire source, InboundWire target)" to do this.

Over here I added the PassbyValue interceptor to the 'target'.  But this did
not invoke the interceptor.  If I added it to the source then the
interceptor gets invoked.  So, am I missing something here?

I understand that the interceptor that you have attached is for the default
Java binding case.  I will work on the databinding dependent case once I get
this default stuff working.

Thanks

- Venkat



On 12/4/06, Raymond Feng <[EMAIL PROTECTED]> wrote:

Hi, Venkat.

Thank you for volunteering. I opened a JIRA
http://issues.apache.org/jira/browse/TUSCANY-969 and attached some
prototype
code there. Hopefully it can get you started.

Thanks,
Raymond

----- Original Message -----
From: "Venkata Krishnan" <[EMAIL PROTECTED]>
To: <tuscany-dev@ws.apache.org>
Sent: Sunday, December 03, 2006 10:08 PM
Subject: Re: Pass-by-value support for remotable interfaces


> Hi Raymond,
>
> I'm interested in helping with this.  It will give me a chance to work
> with
> the service invocation paths of the core.  Let me know if there is
> something
> that I help with.
>
> Thanks.
>
> - Venkat
>
> On 11/30/06, Raymond Feng <[EMAIL PROTECTED]> wrote:
>>
>> ----- Original Message -----
>> From: "Mike Edwards" <[EMAIL PROTECTED]>
>> To: <tuscany-dev@ws.apache.org >
>> Sent: Wednesday, November 29, 2006 7:07 AM
>> Subject: Re: Pass-by-value support for remotable interfaces
>>
>>
>> > Raymond,
>> >
>> > First point I need to make is that just because two components are in
>> the
>> > same composite does not mean that they are automatically running in
the
>> > same VM or even the same operating system process.  Composites can
span
>> > components running on different nodes (node = machine and/or o/s
>> process).
>> >
>>
>> Good catch.
>>
>> > Consider a composite which had component A implemented in Java and
>> > component B implemented in C++.  Not likely that they would run in
the
>> > same runtime process (certainly not with the current Tuscany
runtime).
>> > This is perfectly OK as long as any interface between them is
>> "remotable".
>> >
>> > Second, more general point to make, is that there may be implied
>> semantics
>> > for the interface that depend on the binding used to connect the
>> reference
>> > to the service.  Consider the case where the interface involves an
>> > operation with a message having two references to the same object.
>> > When
>> > this is sent from consumer to provider (say), does the provider
receive
>> 2
>> > separate copies of the object or just one - assuming the consumer
>> started
>> > with only 1.
>> >
>> > The answer is "it depends on the binding" - RMI-IIOP says there is
only
>> 1
>> > copy.  Web Services says there are 2 copies...
>> >
>> > I don't think that SCA can hide these subtle differences, much though
>> > we
>> > may like to do so.  However, what we must guarantee is that the
>> behaviour
>> > matches the binding type - if the internal wire uses binding.ws, for
>> > example, then we provide Web services semantics.  This must be true
for
>> > any optimisations we may like to use in the case where both ends of
the
>> > wire are in 1 process - since for a remotable interface this
proximity
>> is
>> > "accidental" and could be changed by a subtle change in deployment.
>> >
>> > That leaves open what to do in the case of binding.ws.  We may need a
>> way
>> > for the composition to indicate the type of semantics required - or
we
>> > could default to one form (eg Web services...)
>> >
>>
>> Should this be clarified by the SCA spec on pass-by-value?
>>
>> >
>> > Yours,  Mike.
>> >
>> > Raymond Feng wrote:
>> >> Hi,
>> >>
>> >> I'm talking about the following:
>> >>
>> >> componentA.reference --> componentB.service1
>> >> non-SCA client --> componentB.service1
>> >>
>> >> In the cases above, componentA and componentB are in the same
>> >> composite
>>
>> >> (in the same VM). Both the service and reference are declared with a
>> >> remotable interface. We need to have an interceptor to deal with the
>> >> pass-by-value.
>> >>
>> >> For the following wirings:
>> >>
>> >> .. --> composite.reference
>> >> composite.service --> ...
>> >>
>> >> I assume the binding implementation for the composite
>> >> reference/service
>> >> will handle the pass-by-value naturally over the transport.
>> >>
>> >> Thanks,
>> >> Raymond
>> >>
>> > <snip>
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to