Hi,
Good work. I suggest that we start to go a bit wild to bring up the new
story ASAP instead of being stuck with the legacy code. I'm fine if the code
gets broken for a week or two.
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.
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
* Set the callback endpoint to the EndpointReference so that it can be
passed to the target component to make callbacks
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?
Do we need to have an attribute in the Endpoint to access the binding
specific URI or do we reuse binding.get/setURI()?
4) If we need to pass around an EndpointReference, what would be the
serialized format? The WS-Addressing EPR structure can probably help.
5) Do we consider to have an EndpointRegistry at runtime so that endpoints
can be looked up or resolved based on the structural URIs?
Thanks,
Raymond
--------------------------------------------------
From: "Simon Laws" <[email protected]>
Sent: Friday, March 13, 2009 6:31 AM
To: <[email protected]>
Subject: Re: [2.x] [DISCUSS] Endpoints
We can carry on expanding
http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Endpoints. Not
much
there yet but am starting to add things.
An update on where I've got to with Endpoints and EndpointReferences.
I've updated
http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Endpoints
with a model and some description of the events that cause Endpoint
and EndpointReference models to be created. I've added code to this
effect in parallel with the existing code. I've got to the stage now
where I can't do any more in parallel and need to do some ripping and
replacing.
In particular I have the following TODOs
Use of EndpointReference2 and Endpoint2 in place of the current
EndpointReference
Separate out the Endpoint/EndpointReference creation and resolution
code from the builders so that it's pluggable and can defer to
bindings if required
Fix up callbacks for the new structures
Fix up promotion for the new structure
Any further comments gratefully received.
Regards
Simon