OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

[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]