Re: Clarification required on Interface Extension

Jonathan,
I don't have any change to request for the Part 1 spec. My question was
answered by Arthur and I believe the spec is OK as it is.

I was a bit confused by the text from Primer 2.4.2 after reading about
'declared' components in Part 1, Interface, but I don't think this needs to
be changed.  The level of abstraction in the Primer is fine as it is (i.e.
it doesn't need to mention the term 'declared' components).

regards,
John Kaputin.


On 1/24/06, Jonathan Marsh <jmarsh@microsoft.com> wrote:
>
>  I haven't yet added this topic as a CR issue, as it seems to be more of a
> question.  Please let us know if you'd like us to consider a specific change
> to one of the specs.
>
>
>   ------------------------------
>
> *From:* www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org] *On
> Behalf Of *Arthur Ryman
> *Sent:* Sunday, January 15, 2006 4:47 PM
> *To:* John Kaputin (gmail)
> *Cc:* John Kaputin; woden-dev@ws.apache.org; www-ws-desc@w3.org;
> www-ws-desc-request@w3.org
> *Subject:* Re: Clarification required on Interface Extension
>
>
>
>
> John,
>
> The {interface operations} property only contains the declared operations,
> i.e. those that are children of the <interface> element. The Primer is an
> informal document. You shouldn't infer that is is talking about the
> {interface operations} property. The Primer is stating that the extended
> interface supports two operations, not that it's {interface operations}
> property contains two operations.
>
> You understand {extended interfaces} correctly - it just contains those
> listed by QName in the extends attribute.
>
> Yes, an interface can extend other interfaces as long as you import their
> namespaces. They do not have to be defined in the same <description>. Of
> course, extension must be acyclic though.
>
> Arthur Ryman,
> IBM Software Group, Rational Division
>
> blog: http://ryman.eclipsedevelopersjournal.com/
> 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
>
>   *"John Kaputin (gmail)" <jakaputin@gmail.com>*
> Sent by: www-ws-desc-request@w3.org
>
> 01/15/2006 05:56 PM
>
> To
>
> Arthur Ryman/Toronto/IBM@IBMCA
>
> cc
>
> woden-dev@ws.apache.org, John Kaputin <KAPUTIN@uk.ibm.com>,
> www-ws-desc@w3.org
>
> Subject
>
> Re: Clarification required on Interface Extension
>
>
>
>
>
>
>
>
>
>
> Arthur,
> I think I understand you correctly on "declared" Interface operations,
> faults, features and properties. That is, the values in the associated
> Interface properties (e.g. {interface operations}) are just those defined
> directly within the Interface, but do not include values from the interfaces
> it extends.
>
> However,  the example in Primer 2.4.2 Interface Inheritance contains the
> text:
> "As a result of the inheritance, the reservationInterface now contains two
> operations: opCheckAvailability and opLogMessage"
>
> Is this suggesting that the {interface operations} property of
> reservationInterface contains opCheckAvailability and opLogMessage and if
> so, does this contradict the statement about declared operations (i.e. the
> only declared operation in reservationInterface is opCheckAvailability)?
>
> My understanding for {extended interfaces} as a "set of declared
> Interfaces..." is that this property will only contain the Interfaces
> referred to directly by QName within the 'extends' attribute, but not any
> Interfaces that those interfaces extend (i.e. no indirectly extended
> interfaces).
>
> Can the "extends" attribute refer to Interfaces defined in an imported
> WSDL or can it only refer to Interfaces defined directly within the
> <description> containing the extending interface?
>
> thanks,
> John Kaputin.
>
> On 1/13/06, *Arthur Ryman* <ryman@ca.ibm.com> wrote:
>
> John,
>
> The WG decided to take a uniform approach on all properties that could
> possibly be "flattened".  The decision was that the component model would
> contain only the declared values. This rule applies to the following
> properties:
>
> 1. The extended interfaces of an interface {extended interfaces}
> 2. The operations of an interface. {interface operations}
> 3. The faults of an interface. {interface faults}
> 4. Features of a component. {features}
> 5. Properties of a component. {properties}
>
> I believe we are fairly consistent in referring to these unflattened
> properties as the "declared" properties. The flattened properties don't have
> names in the component model, but do in the Z Notation. [1] The group felt
> that including the flattened properities in the component model might be
> misinterpretted as overly prescriptive to implementers, i.e. that
> implementers might feel they had to explicitly compute the flattened values,
> which would be expensive. An implementation is of course free to use any
> technique, e.g. lazy evaluation, caching, etc. to improve performance.
>
> FYI, the Z Notation names for the flattened properties are:
>
> 1. allExtendedInterfaces
> 2. allInterfaceOperations
> 3. allInterfaceFaults
> 4. inScopeFeatures
> 5. inScopeProperties
>
> If you think it would be better to include these flattened properities in
> the component model, let us know. That would be valuable implementation
> experience feedback, which is one of the purposes of the CR phase. There is
> actually a precedent for including flattened properties in a component
> model, i.e. the [in-scope namespaces]  property in XML Infoset [2].
>
> [1] http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20-z.html
> <http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20-z.html>
> [2] http://www.w3.org/TR/xml-infoset/
>
>
> Arthur Ryman,
> IBM Software Group, Rational Division
>
> blog: http://ryman.eclipsedevelopersjournal.com/
> 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
>
> *"John Kaputin (gmail)" <**jakaputin@gmail.com* <jakaputin@gmail.com>*>*
>
> 01/13/2006 09:17 AM
>
> Please respond to
> woden-dev
>
>
>
> To
>
> www-ws-desc@w3.org
>
> cc
>
> John Kaputin <KAPUTIN@uk.ibm.com>, woden-dev@ws.apache.org
>
> Subject
>
> Clarification required on Interface Extension
>
>
>
>
>
>
>
>
>
>
>
> Hi,
> I am trying to implement extended interfaces in the Apache Woden WSDL 2.0processor and I would like clarification on the scope of the Interface
> properties with respect to interface extensions. See Part 1 section 2.2.1The Interface Component.
>
> This section  contains the text: "The set of operations available in an
> interface includes all the operations defined by the interfaces it extends,
> along with any operations it directly defines."  So I would expect the
>  {interface operations} property of  the Interface component to contain its
> own directly defined operations and the operations from any Interfaces it
> extends. That is, a flattened, abstract view of all the Interface Operations
> accessible by the Interface.
>
> However, this section also contains the text:
> "The operations directly defined on an interface are referred to as the *
> declared* operations of the interface."
> "{interface operations} OPTIONAL. A set of declared Interface Operation<http://www.w3.org/TR/2006/CR-wsdl20-20060106/#component-InterfaceOperation>components. "
>
> The use of 'declared' in this latter text suggests that {interface
> operations} contains only the operations directly defined by the interface,
> but NOT those defined by interfaces that it extends. In which case to get
> the complete set of operations available to the Interface, I would need to
> access it's {extended interfaces} property and retrieve the operations from
> those interfaces too. Can someone please carify this for me?
>
> Likewise, this section contains the text:
> "{extended interfaces} OPTIONAL. A set of declared Interface<http://www.w3.org/TR/2006/CR-wsdl20-20060106/#component-Interface>components which this interface extends."
>
> What does 'declared' mean here .... just the <interface> elements directly
> defined within the containing <description>? Or as section 2.19 QName
> Resolution suggests, does {extended interfaces} contain the Interfaces
> directly defined within the containing Description AND any Interfaces
> included or imported by that Description?
>
> Thanks,
> John Kaputin.
>

Received on Wednesday, 25 January 2006 11:04:11 UTC