----- Original Message ----- From: "Jim Marino" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Friday, August 11, 2006 4:59 PM
Subject: Re: [jira] Updated: (TUSCANY-585) Initial support for callbacks



On Aug 11, 2006, at 11:58 AM, Jeremy Boynes wrote:

I have a feeling there may be some confusion here with terminology - heck, I know I'm confused :-)

Yes, I think it is a terminology thing. I was thinking of the three scenarios below and local only being a case of #1.
I think there are several scenarios here and would like to make sure they are all being covered. 1) Component->Component - this must lie within a Composite and may have local or remote semantics 2) Component->Reference with remote Binding - the wire lies within a Composite and disappears into the remote binding 3) Component->Reference wired by the Composite - there is a local wire between the Component and the Reference and an external wire from the CompositeComponent to a sibling Component or Reference (aka the "uncle")

I believe cases 1) and 2) are well covered. A target SCAObject is created with an inbound wire which is then connected to an outbound wire from the source. The resulting connection may be optimized away, or may have policy or other interceptors applied.

Yes but #2 still need to be done.

I am confused about how case 3) is being handled, specifically how the connection is being made between the Reference and the CompositeComponent.

I think there is a good case to me made for having an SCAObject to represent the Reference - for example, you may want to manage the reference in some way. Having it there does not mean that it needs to be part of the invocation path. For example, during connection the wire could be optimized in a way that allowed the "uncle" to be directly injected into the source.

Perhaps "JavaReference" is confusing here - how about we call it a "CompositeReference", as in "a Reference whose wiring is handled by the composite component that contains it." This would work in conjunction with a CompositeComponent to pass wires around - for example, CompositeComponent.addOutboundWire could just delegate down to the appropriate CompositeReference (selected by name).

Yes having the special type of reference makes sense because this is a type of binding. The target invoker in this case could actually be an interceptor which flowed the invocation to the head interceptor of the uncle. If this is the case, we may need to have the Connector handle this case of finding the target in the outer "grandparent" composite (if that makes sense).

So, if a CompositeReference is a type of binding then it needs to define a Binding subclass, a BindingBuilder and a BindingLoader, for which an XMLType needs to be defined. What would this be, binding.sca, would it be implicit. If it is implicit, how does the corresponding BindingBuilder know that a CompositeReference is being built?

The interceptor realization of the target invoker seems a bit mysterious to me, can you elaborate a bit?

--
Jeremy



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

Reply via email to