On 8/1/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote: > > Jean-Sebastien Delfino wrote: > > Jean-Sebastien Delfino wrote: > >> [snip] > >> > >>>> Another problem is all our bindings work differently. So > >>>> <binding.ws/>, < > >>>> > binding.rmi/> <binding.jms/> <binding.jsonrpc/> etc all result in a > >>>> > service > >>>> > being available at a different endpoint. Also the uri attribute > >>>> on those > >>>> > > >>>> > bindings all work differently so uri="foo" for some bindings > >>>> would be > >>>> > treated as relative uri, for others an absolute one. What we need > >>>> is a > >>>> > bit > >>>> > of code that implements section 1.7.2.1 of the assembly spec > >>>> which all > >>>> > bindings then use. (a generic version of > >>>> > Axis2ServiceProvider.computeActualURI). Didn't this come up once > >>>> before > >>>> > and > >>>> > something was changing in the runtime binding for this? > >>>> > >> > >> I think that these URIs should be determined as part of the process > >> of combining wires and uris specified at different levels in the SCA > >> assembly. If the correct URIs are determined once as part of this > >> process, a binding provider should be able to just call > >> binding.getURI(), without having to calculate it at all, on its own > >> or even calling a central URI calculator method. > >> > > > > Before trying to implement a common algorithm for all bindings, I > > thought I'd double check the various SCA spec docs. Here's what I found: > > > > - WebService binding > > absolute URI specified in binding/@uri > > or > > base domain URI for http: + '/' + component URI + '/' + relative URI > > specified in binding/@uri > > or > > absolute URI specified in WSDL > > or > > base domain URI for http: + '/' + component URI + '/' + relative URI > > specified in WSDL > > or > > absolute URI specified in a wsa:Address > > or > > base domain URI for http: + '/' + component URI + '/' + relative URI > > specified in a wsa:Address > > > > - JMS binding > > JMS specific URI specified in binding/@uri > > or > > no URI, combination of JMS specific attributes > > > > - EJB binding > > base domain URI for corba:iiop: + '#' + relative URI specified in > > binding/@uri > > or > > base domain URI for corba:rir: + '#' + relative URI specified in > > binding/@uri > > or > > absolute URI specified in binding/@uri > > > > I think that other bindings introduced by Tuscany can follow similar > > patterns: > > > > - RMI binding > > similar to EJB binding > > > > - JSON, Ajax and Feed bindings > > absolute URI specified in binding/@uri > > or > > base domain URI for http: + '/' + component URI + '/' + relative URI > > specified in binding/@uri > > > > Thoughts? could you guys please review to make sure I understood the > > specs correctly? Thanks. > > > > After more reading of the various SCA specs, I think we should defer > supporting a domain URI (or a set of domain URIs) until the specs > clarify the use cases for it. Here are the issues I'm seeing: > > - Component URI is not clearly defined in the spec (there's an errata > for this), the name of the component cannot be used alone for nested > components, and concatenating names of nested components with a domain > URI is likely to cause ambiguities and collisions. > > - Having a domain URI per node in a domain (proposed earlier in this > thread) is not in line with the spec. > > - Also doing that will burn the node topology in the SCA domain logical > assembly, as you'll see the addresses of your nodes in the URIs on your > reference bindings, so the logical assembly won't be so "logical" anymore > :) > > - We could say that the domain URI is just a logical URI, but then I > don't understand why we would need it at all, as specifying > domainURI/someURI in the URI of a reference binding would only compete > with the target attribute of a reference or wire. > > - And if it was just a logical URI then I'm not sure why we'd need a > different URI per protocol. > > So at this point I don't understand how this domain URI was intended to > be used and I think we should keep things simple. I'd suggest to not try > to use a domain URI to calculate any binding URIs for now, and ask > application developers and assemblers to specify the URIs they want > explicitly. > > If anyone out there has a requirement for domain URIs and can articulate > the use case and how it should work, please shout :) > > Finally, the SCA assembly model is already able to store a single URI in > the domain's Composite model object (see Composite.get/setURI()), so if > people find a real use case and are OK to start with a single domain > URI, they can just use that. > > Thoughts?
So what is the proposal exactly - "ask application developers and assemblers to specify the URIs they want explicitly" - could there be some examples of what that would mean for our various http based bindings? ...ant
