HI Raymond

Comments in line...

Simon

On Tue, Jan 13, 2009 at 5:45 PM, Raymond Feng <[email protected]> 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....

Reply via email to