Hi Raymond Thanks for the comments. More in line...
Simon > I'm fine if the code > gets broken for a week or two. Yes, I think a bit of breakage is going to be unavoidable. > > I have a few comments/questions (I use Endpoint/EndpointReference to refer > the Endpoint2/EndpointReference2): > > 1) The EndpointReference.get/setTargetName() should be removed. If the > reference has an @target attribute or the binding has an SCA URI, we create > a target Endpoint to represent that. +1 I have gone that direction but you're right I've not removed the target name. Good spot. > > For example, > <component name="Component1"> > <reference name="Ref1" target="Component2/Service1"> > </component> > > Assuming the structural uri for Component1 in the SCA domain is > TopComponent/Component1, then the target should be relativized as follows: > > target structural URI > --------------------------- > --------------------------------------------------------------------- > Component2/Service1 TopComponent/Component2#service(Service1) > Component2 TopComponent/Component2 > Component2/Service1/Binding1 > TopComponent/Component2#service-binding(Service1/Binding1) > > > 2) For callback of an SCA reference, I assume: > > * We create an Endpoint to represent the "callback service" on the component > that owns the reference yes > * Set the callback endpoint to the EndpointReference so that it can be > passed to the target component to make callbacks yes (although the serialization piece isn't there yet) > > 3) The Endpoint can potentially have the SCA structural binding URI and/or > the binding-specific physical URI. > > For example, > <component name="Component2"> > <service name="Service1"> > <binding.ws name="Binding1" uri="http://localhost:8080/MyWebService"/> > </service> > </component> > > The structural URI for Binding1 is: > TopComponent/Component2#service-binding(Service1/Binding1) > The WS binding specific URI is: http://localhost:8080/MyWebService > > If the Endpoint2 represents a non-SCA service endpoint, then the structural > URI is null. > > Do we need to have an attribute in the Endpoint to access the structural > URI? Don't know yet. I had assumed we could go to the binding. > Do we need to have an attribute in the Endpoint to access the binding > specific URI or do we reuse binding.get/setURI()? Don't know about this either. Did put it in but it's commented out as I changed my mind thinking we would go to the binding. > > 4) If we need to pass around an EndpointReference, what would be the > serialized format? The WS-Addressing EPR structure can probably help. Yes, EPR sounds right. Haven't done this yet so if you feel like making a bit of serialization code... ;-) > > 5) Do we consider to have an EndpointRegistry at runtime so that endpoints > can be looked up or resolved based on the structural URIs? Interesting question. I think when we move on to making this work in the domain the answer is yes. It's not a requirement for static configuration of course but would help us we incremental startup and/or latebinding scenarios.
