On 8/15/07, ant elder <[EMAIL PROTECTED]> wrote:
>
> On 8/15/07, Simon Laws <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> > On 8/15/07, ant elder <[EMAIL PROTECTED]> wrote:
> > >
> > > On 8/15/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:
> > > >
> > > > ant elder wrote:
> > > > > On 8/15/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.
> > > > >>>
> > > > >>>
> > > > >> Default values for service binding URIs are now initialized by
> > > > >> CompositeBuilder, so binding extensions do not have to repeat
> that
> > > > logic
> > > > >> anymore.
> > > > >>
> > > > >> Service binding extensions can now call binding.getURI() and get:
> > > > >>
> > > > >> - binding/@uri if it the specified URI is absolute
> > > > >>
> > > > >> - component URI + binding/@uri if the specified URI is relative
> > > > >> ../ ./ etc. are supported as supported by java.net.URI
> > > > >> for a domain level composite service, component URI is empty
> > > > >> for a service on a domain level component, component URI is the
> > > > >> component name
> > > > >> for a nested component, component URI is the sum of the names of
> > > the
> > > > >> nested components separated by '/'
> > > > >>
> > > > >> - component URI / binding/@name if no URI is specified on the
> > > binding
> > > > >>
> > > > >> - component URI / service/@name if no binding name is specified
> > > > >>
> > > > >> Binding extensions are still responsible for determining the
> > > effective
> > > > >> URI, choosing their specific protocol scheme, or applying any
> other
> > > > >> binding-specific precedence rules (for example the Web Service
> > > binding
> > > > >> needs to consider the URI specified in a WSDL port or WSDL
> > > endpoint).
> > > > >>
> > > > >
> > > > >
> > > > > Why is component URI empty for a service on a domain level
> > > component? Is
> > > > > that in the spec somewhere?
> > > > >
> > > > >    ...ant
> > > > >
> > > > >
> > > >
> > > > Not for a domain level component, but for a domain level composite
> > > > service.
> > > >
> > > > From my original description:
> > > > "for a domain level composite service, component URI is empty"
> > > >
> > > > From the assembly spec:
> > > >
> > > > 2380 Services deployed into the Domain (as opposed to services of
> > > > components) have a URI that does
> > > > 2381 not include a component name
> > >
> > >
> > > Ok i see, thanks for the line numbers.
> > >
> > > The website page on binding.ws describes this a bit but i think I'm
> > > going to
> > > a new page on the website just about how binding uri's work and link
> to
> > > that
> > > from the other binding pages. Anyone feel free to help out and make it
> > > as
> > > clear as possible.
> > >
> > >    ...ant
> > >
> > I'd like to make sure this is absolutely clear in my mind (if no one
> > else's). What would you like me to do?
> >
> > Simon
> >
>
> The page i've started is at
>
> http://cwiki.apache.org/confluence/display/TUSCANY/SCA+Java+binding+endpoints
>
> So the idea was just add a bunch more examples of different configurations
> and the resulting endpoints, maybe also adding a sentence or two saying
> how
> the endpoint is arrived at for each example. Does that sound ok / useful?
> Feel free to suggest alternative approaches , add different examples or
> more
> description etc.
>
>     ...ant
>
Sounds very useful, I'll take a look.

Simon

Reply via email to