Thoughts and comments inline.

Raymond Feng wrote:
Hi, Simon.

Nice summary:-). I was about to drop a note but you are ahead of me. The code is still evolving and the WireableWiring is gone (with some methods merged into SCABinding).

Please see my comments inline.

Thanks,
Raymond

----- Original Message ----- From: "Simon Nash" <[EMAIL PROTECTED]>
To: <tuscany-dev@ws.apache.org>
Sent: Thursday, July 19, 2007 3:35 AM
Subject: WireableBinding questions


I have some questions about the new interface WireableBinding that was
checked in as part of revision r557195.

1. Is it intended that all bindings should (eventually) implement this
   interface, or only some of them?  If only some of them, what's the
guideline for which bindings should implement it and which should not?

If bindings want to be provided with pointers to a target component/service/binding, they implement WireableBinding.


2. For bindings that don't (yet) implement it (i.e., all the current
   extension bindings), what are the limitations on what can be done
   with these bindings?


The WireableBinding interface is now gone.

Sorry, I think we should keep it :) the limitation for bindings that do not implement WireableBinding is that they are not provided with pointers to the target component/service/binding. Most bindings don't care about these as they are simply using the endpoint information that they are configured with.


3. This interface introduces three new getter/setter properties:
     TargetComponent
     TargetComponentService
     TargetBinding
   How are these set/used for reference bindings by the core wiring
   framework?  And how are they set/used for service bindings?

These methods are now in SCABinding. They are used to create local wires for SCA bindings. The target is set when a reference SCABinding is resolved to be wired to a target component service.

This is a staged approach. Ideally, we should be able to use the URI (componentName/serviceName) to represent the endpoint reference which can materialized locally if the target exists.

I think it's better to keep WireableBinding like you had yesterday, and not tie it to SCABinding. This way:
- whatever binding needs pointers to the target can implement it
- implementations of the SCABinding interface do not have to if they don't need that info.

In other words, support WireableBinding in the core runtime, but SCABinding does not extend it. A particular SCABindingImpl can decide to implement WireableBinding or not (e.g a remote-only distributed SCABinding may not need to, on the other hand an SCABinding that wants to optimize local calls may want to implement WireableBinding).


4. The core wiring framework is now calling getURI() as part of its
   determination of whether or not a binding has an endpoint.  Does
   this put new obligations on extension bindings to call their setURI()
   method even if no "uri" attribute was specified in the SCDL?

No, for other bindings than SCABinding, the current code assumes it always has a URI. SCABinding is the only binding that supports "target" attribute at this moment. If a binding starts to support "componentName/serviceName" addressing, then "uri" attribute should be correctly configured.

5. Are there any other changes that extension binding writers need
   to make (or are recommended to make) to fully support the new
   multiple bindings support for references with multiplicity and
   promotion?

No.

  Simon



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



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




--
Jean-Sebastien


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

Reply via email to