[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: ISSUE 27: Default URI construction rules aren't consistent with compatible service evolution
http://www.osoa.org/jira/browse/ASSEMBLY-27 On Nov 23, 2007, at 3:27 PM, Simon Nash wrote: > Target: SCA Assembly Model Specification, section 7.2.1 (Constructing > Hierarchical URIs) > > Description: > > For wiring and createSelfReference(), it is always possible to > identify services by the fully qualified component/service name. > In addition, if there is only one service on the component, it is > possible to specify the component name alone as a shorthand. > > So far so good. Now consider the case of how URIs are > constructed for these services. The definition in the spec is > inconsistent with how this works for wiring and > createSelfReference() as described above. The difference > is that you either get a fully qualified component/service name > or you get a shorthand component name only. > > The either/or/only part of the last sentence has very undesirable > consequences in the following scenario: > 1. A component has a single service A exposed via the shorthand URI. > 2. Other bindings or non-SCA clients refer to it using the > shorthand URI. > 3. Another service B is added to the component. Now both A and B > are exposed via fully qualified URIs. > 4. Everyone who was referring to A by the shorthand URI is now > broken. > > It's just as bad in the reverse scenario: > 1. A component has a two services A and B exposed via fully qualified > URIs. > 2. Other bindings or non-SCA clients refer to A using a fully > qualified > URI. > 3. Service B is removed from the component. Now A is only exposed > via > a shorthand URI. > 4. Everyone who was referring to A by the fully qualified URI is now > broken. > > The problem can be solved by always exposing services by the fully > qualified > URI. In the case where there's a single service on a component, it > would > be possible to also provide an "unsafe" alias shorthand URI that > cannot be > relied on for forward compatibility, but I can't see that it's worth > adding > this complexity for so little benefit. > > Proposal: > > Delete lines 2443 through 2447 inclusive. The deleted text is: > > Where a component has only a single service, the default value of the > Service Binding URI is null, > so that the effective URI is: > Base Domain URI for a scheme / Component URI > This shortened form of the URI is consistent with the shortened > form for > the wire target URI used > when wiring references to services > > Simon > > Simon C. Nash, IBM Distinguished Engineer > Member of the IBM Academy of Technology > Tel. +44-1962-815156 Fax +44-1962-818999 > > > > > > Unless stated otherwise above: > IBM United Kingdom Limited - Registered in England and Wales with > number > 741598. > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire > PO6 3AU > > > > > > > > --------------------------------------------------------------------- > To unsubscribe from this mail list, you must leave the OASIS TC that > generates this mail. You may a link to this group and all your TCs > in OASIS > at: > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]