On 9/7/06, Jim Marino <[EMAIL PROTECTED]> wrote:
On Sep 7, 2006, at 2:01 AM, ant elder wrote: > Great stuff Raymond, some questions and comments inline... > > ...ant > > On 9/7/06, Raymond Feng <[EMAIL PROTECTED]> wrote: >> >> Hi, >> >> I finally got the first sample (String<-->DOM) up and running with >> the >> databinding framework integrated with the core with some >> workarounds/hacks. >> The following is a list of issues and assumptions during the >> process. I >> would like to get your opinions so that we can finalize the >> integration >> story as soon as possible. >> >> 1) Define compatiblity of two service contracts that can be wired >> together >> and applicability of databinding transformations. >> >> * For local operations that require pass-by-reference semantics, >> databinding >> transformation cannot be applied because the source data and >> transformed >> result can run out of sync. If the two operations require different >> databindings, they are treated as incompatble. > > > This is a bit sad. Couldn't there be some way to say pass-by-value > is ok, > something like the opposite of the @AllowsPassByReference > annotation (and > consider having this the default)? > We should not have pass-by-value as the default for wires between local services since local services are the default type within a composite mandated by the SCA spec. The notion of local services as the default service type was put into the SCA spec to avoid the mistake made with technologies such as early EJB where everything was remote. Data transformations should only occur when the target service contract is remotable. If a target service is remotable, allows pass-by-ref, and a data transform is required, the resulting wire will be by-val.
I don't think i'm saying pass-by-value be the default for local services, what i'm asking is if operations are possible between local components using different data bindings, and if so then it seems more user friendly that the default be that it just works without having to define anything extra to make it work. ...ant
