The Component Model Does Not Enforce Component Nesting

The Component Model does not enforce nesting. For example, consider two 
interfaces, that each have a single operation, e.g.

interface TV {
        operation PowerOn;
}

interface Radio {
        operation PowerOn;
}

The TV and Radio interfaces each contain a PowerOn operation. Suppose that 
the properties of the PowerOn operations are identical in both cases. The 
Component Model allows there to be a single Operation component that 
appears in the {operations} property of each Interface component. This 
violates our intuition that operations are local to interfaces, and which 
is apparent in the XML syntax for WSDL 2.0.

More seriously, this situation breaks the URI Reference specification 
since that assumes we can identify any component by build up a path of 
names of its ancestors. In this example, there is not unique path to the 
Operation component.

I recommend that the Component Model should faithfully reflect the nesting 
structure of components that is apparent from the XML syntax of WSDL 2.0 
documents. This translates to the constraint that every component, except 
the root Description component, have a unique parent. The parent of the 
component is the component that contains the definition of the component 
as in the XML syntax.

Arthur Ryman,
Rational Desktop Tools Development

phone: +1-905-413-3077, TL 969-3077
assistant: +1-905-413-2411, TL 969-2411
fax: +1-905-413-4920, TL 969-4920
mobile: +1-416-939-5063, text: 4169395063@fido.ca
intranet: http://labweb.torolab.ibm.com/DRY6/

Received on Thursday, 11 November 2004 22:44:39 UTC