On Thu, Jan 15, 2009 at 10:17 PM, Raymond Feng <enjoyj...@gmail.com> wrote:

>  One more thought:
>
> Binding extensions probably need to help create the endpoint and resolve
> the endpoint references. Different bindings may even have their
> implementation of the Endpoint/EndpointReference model. For those bindings
> that support local wiring (for example, binding.sca), the endpoint reference
> can be resolved to a local endpoint which contains information about the
> component/service/binding.
>
> Thanks,
> Raymond
>
>  *From:* Simon Laws <simonsl...@googlemail.com>
> *Sent:* Thursday, January 15, 2009 6:31 AM
> *To:* dev@tuscany.apache.org
> *Subject:* Re: [2.x] [DISCUSS] Endpoints
>
> HI Raymond
>
> Comments in line...
>
> Simon
>
> On Tue, Jan 13, 2009 at 5:45 PM, Raymond Feng <enjoyj...@gmail.com> wrote:
>
>>  Nice proposal. I agree with you on most of the points with a few
>> comments:
>>
>> Let's first fix the model. The SCA spec uses <binding.???> element for two
>> purposes:
>>     a) Describes a concrete transmission protocol
>>     b) Provides an address for the endpoint
>> When we initially defined the in-memory representation of the metadata,
>> the XML syntax misled us. Now we realize we should an explicit Endpoint
>> model as the WSDL [1] spec does.
>>
>> An SCA service has an interface. Each service can be configured with
>> multiple bindings and each binding binds the interface to a concrete
>> transmission protocol (and message format). The service is made available at
>> a set of endpoints. Each endpoint will have a binding, an address (URI) and
>> the interface.
>>
>> service --> interface (1..1)
>> service --> endpoint (1..n)
>> endpoint --> binding
>>              --> address
>>              --> interface
>>
>> An SCA reference also has an interface. Each reference will have zero or
>> more references to the endpoints (the binding, address and interface). I
>> prefer to model them as EndPointReference which can be resolved to an
>> Endpoint (or proxy).
>> reference --> interface (1..1)
>> reference --> endpoint references (1..n)
>> endpoint reference --> binding
>>                              --> address
>>                              --> interface
>>
>
> Ok. I see where you're going with EndpointReference. Works for me. I think
> we will probably still need some link from the endpoint reference back into
> the component/reference that owns it in order that the lookup part can work.
> But lets model it in a bit more detail and see how it looks. Be good to get
> some interaction diagrams going so we understand.
>
> I have yet another wiki page. Started off with just a simple diagram.
> http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Endpoints.
>
>
>>
>> EndpointReference can be mapped into CallableReference and
>> ServiceReference defined by the SCA java spec. It can be used to create
>> proxies to an SCA service. The EndpointReference can be passed implicitly by
>> the runtime or explicitly as part of the business methods.
>>
>> EndpointReference can be serialized into different binding protocols and
>> later on be deserialized. For web service binding, it should be mapped to
>> the WSA EndpointReference.
>>
>> The EndpointReference can be potentially used as the client entry point to
>> the SCA composite. The client can create an endpoint reference with the
>> information about the binding, address, interface and policies and then a
>> service proxy can be created out of that.
>>
>>
> snip....
>

Certainly the resolution of an endpoint reference can be binding specific so
I agree with you here.

Simon

Reply via email to