On 7/16/07, Raymond Feng <[EMAIL PROTECTED]> wrote:

Hi,

As captured at

http://cwiki.apache.org/TUSCANYWIKI/multiple-bindings-and-reference-multiplicity.html,
a
reference can use "target" attribute or binding uri to declare the
outbound
endpoints. Multiplicity and promotion complicate the picture even more.

I suggest that we internally (for example, in CompositeBuilderImpl)
normalize the reference bindings as illustrated by column 4 of the tables
in
the wiki page. Then the runtime can follow the two simple rules:

Rule #1. Binding with a specified endpoint = a wire
Rule #2. Multiplicity is about the number of wires allowed for the
reference

It might require we add something such as "resolvedEndpoint" to the
Binding
interface (leaving the "uri" attribute to host the value from SCDL). For
SCA
reference binding, the resolvedEndpoint could be the
Component/ComponentService.

What do you guys think?

Thanks,
Raymond


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

Hi Raymond

This subject seems sufficiently complex that resolving the binding/wire
target to a resolved endpoint seems like a good idea. Just testing my
understanding of what you are proposing your two rules imply once the
endpoints have been resolved;

there are as many reference wires as there are reference bindings (#1) but
limited by the reference multiplicity (#2)

Is that right?

Some more general questions come to mind but I'm afraid they are a bit
random at the moment. Am just getting up the curve on the ins and outs of
wiring multiplicities (your table is a great help b.t.w)

In the case where you have a multiplicity greater than one and a single
binding won't you need a collection of resolved endpoints?

If you don't specify binding.sca is it only assumed to be there is you don't
specify anything else (currently the code puts it in regardless). This will
have an impact on the multiplicity calculation

What happens on the service side? This is a question about the "Rule #1.
Binding with a specified endpoint = a wire". The binding with a specified
end point (as derived from binding information such as WSDL) will give rise
to a wire in the service side also so in the grand scheme of things there is
technically more than one wire. Or are these just assumed to be separate
parts of the same wire. I'm a little lacking in detail about the end to end
piece here so need to investigate in more detail.

What happens if the target derived from the binding and from the reference
disagree. Is this an error or multiple wires.

In you table you reference on the wiki where is the multiplicity being
defined in the promotion cases (it's just included as a comment in the
table)?

A spec question. What's the implication of promoting multiple references at
once? I assume that some sort of composite reference results which will have
an impact on multiplicity.

Simon

Reply via email to