Re: Late resolution of reference targets - was:Accessing global domain information

2007-08-16 Thread Simon Laws
On 8/15/07, Simon Laws <[EMAIL PROTECTED]> wrote:
>
>
>
> On 8/15/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:
> >
> > Raymond Feng wrote:
> > > Comments inline.
> > >
> > > Thanks,
> > > Raymond
> > >
> > > - Original Message - From: "Simon Laws"
> > > <[EMAIL PROTECTED] >
> > > To: "tuscany-dev" 
> > > Sent: Tuesday, August 14, 2007 12:37 AM
> > > Subject: Late resolution of reference targets - was:Accessing global
> > > domain information
> > >
> > >
> > >> Currently in CompositeWireBuilderImpl.connectComponentReference all
> > >> targets
> > >> are converted to bindings on a reference and the targets are
> > >> removed. During this process the source and target bindings are
> > compared
> > >> until matching wireable bindings are found.
> > >>
> > >
> > > This is not always possible because some of the targets are not
> > > resolvable at this point.
> > >
> > >> Currently only the sca binding implements WireableBinding. I've
> > opened
> > >> https://issues.apache.org/jira/browse/TUSCANY-1534 about this.
> > >>
> > >> If the domain is distributed then at the build stage some of the
> > targets
> > >> will remain unresolved. For the new sca binding I have made the
> > >> assumption
> > >> here that unresolved targets take a copy of the bindings they may be
> > >> resolved against at a later date and that the targets are maintained
> > >> on the
> > >> reference after the build stage. I still assume that the SCA binding
> > >> is the
> > >> only valid wireable binding at present.
> > >>
> > >
> > > I start to look into this area too from a different perspetive. Please
> >
> > > see
> > >
> > http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Service+References
> > .
> > >
> > >
> > >> So I'm proposing that
> > >>
> > >> 1. The builder should retain the list of unresolved targets for use
> > >> after
> > >> the build stage
> > >> 2. The list of bindings that might be used to resolve a target at a
> > >> later
> > >> date are associated with each target
> > >>
> > >
> > > +1. What will the data structure look like? There are some cases that
> > > mixed styles are used to define the binding endpoint if the reference
> > > multiplicity is greater than 1 and promotion is used. For example, we
> > > can have the following:
> > >
> > > InnerComposite:
> > > 
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >...
> > >
> > >
> > >
> > >
> > >
> > > 
> > >
> > > 
> > >
> > >
> > >
> > >...
> > >
> 
> 
> 
> 
> 
>
> Where HelloWorldService does not appear in the loaded contributions.
>
> Simon
>
Hi, as an alternative to this is there a way that we can just create all the
bindings/wires for the unresolved targets and then select the correct wire
either when the invocation handler is created or even as late as when the
first call is made through a reference.

I've been thinking about this because it is clear that we don't know how
long in the future it will be before a target is available to be resolved.
In this case of references that cross node boundaries it can be any time
from when the composite is loaded through to the point a which the first
call is made, i.e. we don;t want to prevent the composite from starting up.

Regards

Simon


Re: Late resolution of reference targets - was:Accessing global domain information

2007-08-15 Thread Simon Laws
On 8/14/07, Raymond Feng <[EMAIL PROTECTED]> wrote:
>
> Comments inline.
>
> Thanks,
> Raymond
>
> - Original Message -
> From: "Simon Laws" <[EMAIL PROTECTED]>
> To: "tuscany-dev" 
> Sent: Tuesday, August 14, 2007 12:37 AM
> Subject: Late resolution of reference targets - was:Accessing global
> domain
> information
>
>
> > Currently in CompositeWireBuilderImpl.connectComponentReference all
> > targets
> > are converted to bindings on a reference and the targets are
> > removed. During this process the source and target bindings are compared
> > until matching wireable bindings are found.
> >
>
> This is not always possible because some of the targets are not resolvable
> at this point.


Precisely:-)

> Currently only the sca binding implements WireableBinding. I've opened
> > https://issues.apache.org/jira/browse/TUSCANY-1534 about this.
> >
> > If the domain is distributed then at the build stage some of the targets
> > will remain unresolved. For the new sca binding I have made the
> assumption
> > here that unresolved targets take a copy of the bindings they may be
> > resolved against at a later date and that the targets are maintained on
> > the
> > reference after the build stage. I still assume that the SCA binding is
> > the
> > only valid wireable binding at present.
> >
>
> I start to look into this area too from a different perspetive. Please see
> http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Service+References.


Cool. Let me think about this a little and I'll add notes. I know Simon N
did some work in this are recently and there have been a thread about cross
JVM lookups recently specifically focusing on service references/callable
references. So there are a few interested parties.

> So I'm proposing that
> >
> > 1. The builder should retain the list of unresolved targets for use
> after
> > the build stage
> > 2. The list of bindings that might be used to resolve a target at a
> later
> > date are associated with each target
> >
>
> +1. What will the data structure look like? There are some cases that
> mixed
> styles are used to define the binding endpoint if the reference
> multiplicity
> is greater than 1 and promotion is used. For example, we can have the
> following:
>
> InnerComposite:
> 
> 
> 
> 
> 
> 
>
> 
> ...
> 
>
> 
> 
> 
> 
>
> 
> 
> 
> 
> ...
> 

Re: Late resolution of reference targets - was:Accessing global domain information

2007-08-15 Thread Simon Laws
On 8/15/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:
>
> Raymond Feng wrote:
> > Comments inline.
> >
> > Thanks,
> > Raymond
> >
> > - Original Message - From: "Simon Laws"
> > <[EMAIL PROTECTED]>
> > To: "tuscany-dev" 
> > Sent: Tuesday, August 14, 2007 12:37 AM
> > Subject: Late resolution of reference targets - was:Accessing global
> > domain information
> >
> >
> >> Currently in CompositeWireBuilderImpl.connectComponentReference all
> >> targets
> >> are converted to bindings on a reference and the targets are
> >> removed. During this process the source and target bindings are
> compared
> >> until matching wireable bindings are found.
> >>
> >
> > This is not always possible because some of the targets are not
> > resolvable at this point.
> >
> >> Currently only the sca binding implements WireableBinding. I've opened
> >> https://issues.apache.org/jira/browse/TUSCANY-1534 about this.
> >>
> >> If the domain is distributed then at the build stage some of the
> targets
> >> will remain unresolved. For the new sca binding I have made the
> >> assumption
> >> here that unresolved targets take a copy of the bindings they may be
> >> resolved against at a later date and that the targets are maintained
> >> on the
> >> reference after the build stage. I still assume that the SCA binding
> >> is the
> >> only valid wireable binding at present.
> >>
> >
> > I start to look into this area too from a different perspetive. Please
> > see
> >
> http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Service+References.
> >
> >
> >> So I'm proposing that
> >>
> >> 1. The builder should retain the list of unresolved targets for use
> >> after
> >> the build stage
> >> 2. The list of bindings that might be used to resolve a target at a
> >> later
> >> date are associated with each target
> >>
> >
> > +1. What will the data structure look like? There are some cases that
> > mixed styles are used to define the binding endpoint if the reference
> > multiplicity is greater than 1 and promotion is used. For example, we
> > can have the following:
> >
> > InnerComposite:
> > 
> >
> >
> >
> >
> >
> >
> >
> >...
> >
> >
> >
> >
> >
> > 
> >
> > 
> >
> >
> >
> >...
> >






Where HelloWorldService does not appear in the loaded contributions.

Simon


Re: Late resolution of reference targets - was:Accessing global domain information

2007-08-15 Thread Jean-Sebastien Delfino

Raymond Feng wrote:

Comments inline.

Thanks,
Raymond

- Original Message - From: "Simon Laws" 
<[EMAIL PROTECTED]>

To: "tuscany-dev" 
Sent: Tuesday, August 14, 2007 12:37 AM
Subject: Late resolution of reference targets - was:Accessing global 
domain information



Currently in CompositeWireBuilderImpl.connectComponentReference all 
targets

are converted to bindings on a reference and the targets are
removed. During this process the source and target bindings are compared
until matching wireable bindings are found.



This is not always possible because some of the targets are not 
resolvable at this point.



Currently only the sca binding implements WireableBinding. I've opened
https://issues.apache.org/jira/browse/TUSCANY-1534 about this.

If the domain is distributed then at the build stage some of the targets
will remain unresolved. For the new sca binding I have made the 
assumption

here that unresolved targets take a copy of the bindings they may be
resolved against at a later date and that the targets are maintained 
on the
reference after the build stage. I still assume that the SCA binding 
is the

only valid wireable binding at present.



I start to look into this area too from a different perspetive. Please 
see 
http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Service+References. 




So I'm proposing that

1. The builder should retain the list of unresolved targets for use 
after

the build stage
2. The list of bindings that might be used to resolve a target at a 
later

date are associated with each target



+1. What will the data structure look like? There are some cases that 
mixed styles are used to define the binding endpoint if the reference 
multiplicity is greater than 1 and promotion is used. For example, we 
can have the following:


InnerComposite:

   
   
   
   
   

   
   ...
   

   
   
   



   
   
   
   ...
   



Come wire creation time care must be take to create remote wires for
unresolved targets. What I do at the moment is:

CompositeActivatorImpl.addReferenceBindingProviders
  As before, create  providers for all bindings that represent 
resolved

targets

  For all unresolved targets
   If support is enabled create a cloned SCA binding and add 
it to

the reference binding list (so that a wire will be created).
   This is pretty much what goes on in the 
CompositeWireBuilder

but I've delayed it until here in the expectation that we will do remote
binding matching one wireable support is fixed
   Create an SCA binding provider which will look up the remote
endpoint at start() time.

Thoughts?

Regards

Simon





Sorry, but I'm having trouble understanding all this, it's starting to 
get a little complicated for me... Could somebody please give a *short* 
summary of the scenario that this is attempting to cover? Thanks.


--
Jean-Sebastien


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



Re: Late resolution of reference targets - was:Accessing global domain information

2007-08-14 Thread Raymond Feng

Comments inline.

Thanks,
Raymond

- Original Message - 
From: "Simon Laws" <[EMAIL PROTECTED]>

To: "tuscany-dev" 
Sent: Tuesday, August 14, 2007 12:37 AM
Subject: Late resolution of reference targets - was:Accessing global domain 
information



Currently in CompositeWireBuilderImpl.connectComponentReference all 
targets

are converted to bindings on a reference and the targets are
removed. During this process the source and target bindings are compared
until matching wireable bindings are found.



This is not always possible because some of the targets are not resolvable 
at this point.



Currently only the sca binding implements WireableBinding. I've opened
https://issues.apache.org/jira/browse/TUSCANY-1534 about this.

If the domain is distributed then at the build stage some of the targets
will remain unresolved. For the new sca binding I have made the assumption
here that unresolved targets take a copy of the bindings they may be
resolved against at a later date and that the targets are maintained on 
the
reference after the build stage. I still assume that the SCA binding is 
the

only valid wireable binding at present.



I start to look into this area too from a different perspetive. Please see 
http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Service+References.



So I'm proposing that

1. The builder should retain the list of unresolved targets for use after
the build stage
2. The list of bindings that might be used to resolve a target at a later
date are associated with each target



+1. What will the data structure look like? There are some cases that mixed 
styles are used to define the binding endpoint if the reference multiplicity 
is greater than 1 and promotion is used. For example, we can have the 
following:


InnerComposite:

   
   
   
   
   

   
   ...
   

   
   
   



   
   
   
   ...
   



Come wire creation time care must be take to create remote wires for
unresolved targets. What I do at the moment is:

CompositeActivatorImpl.addReferenceBindingProviders
  As before, create  providers for all bindings that represent 
resolved

targets

  For all unresolved targets
   If support is enabled create a cloned SCA binding and add it to
the reference binding list (so that a wire will be created).
   This is pretty much what goes on in the 
CompositeWireBuilder

but I've delayed it until here in the expectation that we will do remote
binding matching one wireable support is fixed
   Create an SCA binding provider which will look up the remote
endpoint at start() time.

Thoughts?

Regards

Simon




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



Late resolution of reference targets - was:Accessing global domain information

2007-08-14 Thread Simon Laws
Currently in CompositeWireBuilderImpl.connectComponentReference all targets
are converted to bindings on a reference and the targets are
removed. During this process the source and target bindings are compared
until matching wireable bindings are found.

Currently only the sca binding implements WireableBinding. I've opened
https://issues.apache.org/jira/browse/TUSCANY-1534 about this.

If the domain is distributed then at the build stage some of the targets
will remain unresolved. For the new sca binding I have made the assumption
here that unresolved targets take a copy of the bindings they may be
resolved against at a later date and that the targets are maintained on the
reference after the build stage. I still assume that the SCA binding is the
only valid wireable binding at present.

So I'm proposing that

1. The builder should retain the list of unresolved targets for use after
the build stage
2. The list of bindings that might be used to resolve a target at a later
date are associated with each target

Come wire creation time care must be take to create remote wires for
unresolved targets. What I do at the moment is:

CompositeActivatorImpl.addReferenceBindingProviders
   As before, create  providers for all bindings that represent resolved
targets

   For all unresolved targets
If support is enabled create a cloned SCA binding and add it to
the reference binding list (so that a wire will be created).
This is pretty much what goes on in the CompositeWireBuilder
but I've delayed it until here in the expectation that we will do remote
binding matching one wireable support is fixed
Create an SCA binding provider which will look up the remote
endpoint at start() time.

Thoughts?

Regards

Simon