- From: Arthur Ryman <ryman@ca.ibm.com>
- Date: Fri, 13 Jan 2006 10:48:22 -0500
- To: woden-dev@ws.apache.org
- Cc: John Kaputin <KAPUTIN@uk.ibm.com>, woden-dev@ws.apache.org, www-ws-desc@w3.org
- Message-ID: <OFBDCD0709.008B161E-ON852570F5.0054735F-852570F5.0056D269@ca.ibm.com>
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
[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>
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.0
processor and I would like clarification on the scope of the Interface
properties with respect to interface extensions. See Part 1 section 2.2.1
The 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
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 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 Friday, 13 January 2006 15:48:29 UTC