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....
