You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Jim Marino <jm...@myromatours.com> on 2006/08/14 23:29:04 UTC

callbacks transcript from today

[12:24pm] jmarino: sorry you pinged before?
[12:25pm] isilval__: yeah, I want to try to get on the same page wrt  
CompositeReference, its binding, wiring and connections prior to  
getting callbacks for the local via reference case
[12:26pm] jmarino: k
[12:27pm] isilval__: don't know if you saw my note asking about  
bindings for composite references
[12:27pm] jmarino: not yet - let me read it for a sec
[12:27pm] isilval__: it's just a couple of paras
[12:28pm] jmarino: k so in sca there is a concept of an SCA "default"  
binding that can act remotely. I think this is different, it's a  
"composite binding"
[12:30pm] isilval__: that sounds agreeable, but (as rfeng also seems  
to be asking about) it seems like a CompositeReference object would  
need a binding in order for the builder to add it the  
CompositeComponent that contains it
[12:30pm] jmarino: this means we would have some type of reference  
entry and a binding entry that would point to the target address. The  
binding could be set either in the SCDL directly or in the use of the  
composite
[12:31pm] jboynes: is this a different type of "default" binding?
[12:31pm] isilval__: by reference entry do you mean the SCAObject?
[12:31pm] jboynes: I mean, if there is no <binding> element, do we  
supply a default?
[12:32pm] jboynes: and what is the difference between no <binding>  
and <binding.sca> ?
[12:32pm] isilval__: the way I understand binding.sca is as a  
proprietary implementation of a remote binding
[12:33pm] isilval__: so it sounds reasonable not to use in this case
[12:33pm] isilval__: but I may be wrong
[12:33pm] jmarino: yes it is a proprietary implementation of a binding
[12:33pm] jmarino: we could however say we also support a  
"proprietary" composite binding as well
[12:34pm] isilval__: a remote one, more specifically
[12:34pm] jmarino: in that case we need to be able to express a  
target uri
[12:35pm] jboynes: where would you use this?
[12:35pm] isilval__: unless the component whose implementation the  
composite that contains the reference is resolves the target
[12:35pm] jboynes: yes
[12:36pm] jboynes: (that was a hard one to parse)
[12:36pm] isilval__: sorry ...
[12:36pm] jboynes:
[12:37pm] mdinges left the chat room.
[12:37pm] jmarino: on ingacio's point, we always go through a  
reference in the child
[12:37pm] jmarino: the reference needs to point to some target at  
some point, e.g. the binding could be set in the parent
[12:38pm] isilval__: the parent being the hard to parse component?
[12:39pm] jboynes:
[12:39pm] jmarino: I think we have two composites, a parent and a child
[12:39pm] jmarino: the child contains a component and a reference
[12:39pm] jboynes: ah, confusion over parent
[12:40pm] jmarino: the component in the child is wired to a reference  
in the child
[12:40pm] isilval__: with you so far
[12:40pm] jmarino: the reference is wired to something else
[12:40pm] isilval__: the reference in the child does not have a target
[12:40pm] jboynes: the reference is not wired
[12:40pm] jmarino: k then it needs to be wired in the parent
[12:41pm] jmarino: all references must be satisfied at some point
[12:41pm] isilval__: presumably the parent resolves the reference?
[12:41pm] jboynes: the component  in the parent composite that is  
implemented by the child composite defines the target for the  
reference in the cild
[12:41pm] jmarino: there needs to be a wire in the parent or some way  
to satisfy  the reference
[12:41pm] jmarino: yes
[12:42pm] jboynes: equally hard to parse
[12:42pm] isilval__: yes
[12:42pm] isilval__:
[12:42pm] jmarino: k so we're on that page
[12:43pm] isilval__: so we need a separate mechanism to generate a  
BoundReference for the targetless reference
[12:43pm] isilval__: or will we not even call it a BoundReference?
[12:43pm] jmarino: at some point the loaders have to set the target
[12:44pm] jboynes: i don't think it's a BoundReference
[12:44pm] jmarino: the wiring infrastructure I don't think should  
have special cases in it if possible
[12:44pm] jboynes: the component will have a ReferenceTarget
[12:44pm] isilval__: right now the connector only recognizes  
BoundReferences
[12:45pm] jboynes: the ReferenceTarget will define the target for the  
Reference in the componenttype
[12:45pm] isilval__: and it thinks the alternative (ie,  
ReferenceDefinitions) are references on atomic components
[12:46pm] isilval__: need to step out for a min
[12:47pm] jmarino: I think we may be talking about different things  
again
[12:47pm] lresende: jboynes: is there any tools to update all headers  
on a specific tree ?
[12:47pm] jboynes: maybe - I think there is confusion and a lack of  
clarity here
[12:48pm] jboynes: lresende: look in etc
[12:48pm] jmarino: I see this child component---->reference----> 
(binding)--->target in parent
[12:48pm] jboynes: addLicense2java.pl
[12:48pm] jboynes: give it a list of java source files to crunch
[12:49pm] jboynes: jmarino: I don't grok
[12:50pm] jboynes: are you talking about how its configured or how it  
turns out at runtime?
[12:50pm] jmarino: how it is configured first
[12:50pm] jboynes: ok
[12:50pm] jboynes: I see ...
[12:50pm] jmarino: in the runtime the reference just gets turned into  
invocation chains
[12:50pm] jboynes: parent composite has a ComponentDefinition which  
will have a ReferenceTarget
[12:51pm] jmarino: yes
[12:51pm] jboynes: the ComponentDefinition will have a  
Implementation<Composite>
[12:51pm] jmarino: ah k got it
[12:51pm] jboynes: which will identify the child composite
[12:51pm] isilval__: sorry, I'm back
[12:51pm] jmarino: I thought you were saying a targetRef on the child
[12:51pm] jmarino: k recap for Ignacio?
[12:51pm] jboynes: k
[12:52pm] jboynes: can you - I have to step out for a couple as well
[12:52pm] jmarino:
[12:52pm] jmarino: k basically have the following:
[12:52pm] jmarino: for configuration:
[12:53pm] jmarino: child component---> reference  :: in same composite
[12:53pm] ant_away is now known as ant.
[12:53pm] isilval__: in the scdl, you mean
[12:53pm] jmarino: in the parent composite we use a target reference  
to wire the child reference to a target
[12:53pm] jmarino: yes
[12:53pm] isilval__: ok
[12:53pm] jboynes: not quite
[12:53pm] jmarino: ?
[12:54pm] isilval__: a reference element in the component
[12:54pm] jboynes: the ReferenceTarget is wiring the component
[12:54pm] jboynes: the component happens to be implemented by a  
composite
[12:54pm] isilval__: that somehow gets associated with the composite  
reference?
[12:55pm] jboynes: yes the child Composite needs to delegate down to  
the CompositeReference that is it's child
[12:56pm] isilval__: when the child CompositeComponent's  
addOutboundWire is called, you mean?
[12:56pm] jboynes: yes
[12:56pm] isilval__: I don't any occurrence of that call at the moment
[12:57pm] isilval__: perhaps I'm not looking where I should
[12:57pm] jboynes: jmarino: agree?
[12:57pm] jmarino: I think that is what I said above about the target  
reference. Target reference is the config item
[12:58pm] jmarino: we need the wiring infrastructure to turn that  
into the addOutboundWire call
[12:58pm] jboynes: I didn't get the bit "to wire the child reference  
to a target"
[12:58pm] jmarino: right?
[12:59pm] jmarino: there are two things in the child composite: a  
child component and a reference
[12:59pm] jboynes: yes
[12:59pm] isilval__: with you
[1:00pm] jmarino: the reference has a wire that ultimately points to  
some target
[1:00pm] jboynes: yes
[1:00pm] isilval__: ok
[1:00pm] jmarino: that wire is supplied by the addOutboundwire
[1:00pm] jboynes: no
[1:00pm] jmarino: ?
[1:00pm] isilval__: or is it supplied to the addOutboundWire?
[1:00pm] jboynes: addOutboundWire is called on the CompositeComponent  
- it delegates that down
[1:01pm] jmarino: yes
[1:01pm] jmarino: down to what?
[1:01pm] jboynes: the important think is that the wiring framework is  
wriing the CompositeComponent not the child reference
[1:01pm] jmarino: yes!
[1:01pm] jmarino: CompositeComponent.addOutboundWire
[1:02pm] jboynes:
[1:02pm] isilval__: sounds ok, who wires the CompositeComponent?
[1:02pm] jmarino: so I think we're talking the same thing
[1:02pm] jmarino: the Connector needs to wire it
[1:02pm] jboynes: good
[1:02pm] jboynes: I have to run for 30min
[1:03pm] jmarino: I can stay for a bit
[1:03pm] jmarino: how about you Ignacio?
[1:03pm] isilval__: ok, given the CompositeComponent that represents  
the component with the target reference
[1:03pm] jboynes: I think the key thing we've established is that the  
connector is wiring the CompositeComponent not the reference
[1:03pm] jmarino: yes
[1:03pm] jboynes: cool
[1:03pm] jboynes: I'l be here lurking
[1:03pm] isilval__: I can stay, agree w jboynes
[1:03pm] jmarino: k go ahead Ignacio
[1:04pm] isilval__: but how does the connector see the composite  
reference?
[1:05pm] isilval__: I does not seem to be there because it was not  
put in the composie component because it was not a bound reference
[1:05pm] jmarino: right so in ConnectorImpl we will need to add a few  
things: line 90
[1:06pm] isilval__: k
[1:06pm] isilval__: on it
[1:06pm] jmarino: k I see the issue I think
[1:07pm] jmarino: hold on a sec...just got distracted
[1:07pm] isilval__: ok
[1:09pm] jmarino: sorry, we're going to need to have to connect the  
composite's reference targets...
[1:10pm] isilval__: in the if of line 90?
[1:10pm] jmarino: I'm not sure there
[1:11pm] jmarino: that's the main point where it gets evaluated but  
the issue like you mentioned is there is no model information at that  
point
[1:11pm] isilval__: and I also don't see how the composite component  
gets its outbound wire to pass on to the reference
[1:12pm] isilval__: but that may be that I have not looked hard enough
[1:12pm] jmarino: addOutboundWire is on Component
[1:12pm] jmarino: Composite inherits from it
[1:13pm] isilval__: right, but is it being called at the moment?
[1:13pm] jmarino: probably not
[1:13pm] jmarino: it is for Component
[1:13pm] jmarino: Atomic
[1:14pm] jmarino: I'd have to check for the composite case
[1:14pm] isilval__: about the model info, would it make sense to have  
an additional object for this kind of reference?
[1:14pm] isilval__: given that ReferenceDefinition and BoundReference  
have meanings of their own?
[1:15pm] jmarino: I still think it is a Reference
[1:15pm] jsisson left the chat room. (Read error: 104 (Connection  
reset by peer))
[1:15pm] isilval__: me too
[1:15pm] jsisson joined the chat room.
[1:15pm] isilval__: but it does not have a remote binding and it does  
not yet have a target
[1:16pm] jmarino: this one may require a bit of thought. At one level  
it is a Reference. At another level it is part of the component type
[1:17pm] isilval__: hmm, it seems to me a composite is also a  
component type
[1:18pm] jmarino: yes
[1:19pm] isilval__ left the chat room.
[1:20pm] jmarino: yt?
[1:22pm] isilval__ joined the chat room.
[1:22pm] jmarino: yt?
[1:22pm] isilval__: sorry, hit what seems like a trillian bug
[1:23pm] isilval__: back now but lost my chat history
[1:23pm] isilval__: can you see me?
[1:23pm] jmarino: yes
[1:23pm] isilval__: ok, so how should we proceed?
[1:24pm] jmarino: I think we need to come up with a way to handle  
this issue of references and how the connector is made aware of them
[1:24pm] jmarino: do you want to start off a discussion/proposal on  
the list?
[1:25pm] isilval__: I can, would you mind posting the script of this  
discussion so I can refer back to it, as I lost it when trillian  
kicked me out?
[1:26pm] jmarino: sure
[1:26pm] jmarino: do you have enough to go on?
[1:27pm] isilval__: I pretty much lost the whole conversation (hit  
esc thinking it would erase my current line and it made trillian  
freeze and go blank)
[1:28pm] jmarino: k I have the transcript will post. I was asking in  
terms of the discussion - do you think you have enough context to  
keep going?
[1:30pm] isilval__: I need to better understand where and how the  
reference object gets created and how the wiring of the composite  
happens prior to connection
[1:30pm] isilval__: I'll try to elucidate from the code but will ping  
you if I get stuck
[1:31pm] jmarino: k great thx. the place to look is ConnectorImpl and  
also DeployerImpl
[1:32pm] isilval__: yeah, been looking at those, I guess wiring of  
the composite happens at some point during build and prior to connect

---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org