- From: David Booth <dbooth@w3.org>
- Date: Mon, 18 Apr 2005 21:53:15 -0400
- To: Arthur Ryman <ryman@ca.ibm.com>
- Cc: Martin Gudgin <mgudgin@microsoft.com>, www-ws-desc@w3.org
On Mon, 2005-04-18 at 12:17, Arthur Ryman wrote:
> David,
>
> I don't think this works in general. The reason is that documents
> refer to each other so there really isn't a component model for each
> document..
I now understand that that is the current design of the component
model. I was suggesting that instead there should be a component model
for each WSDL 2.0 document (i.e., each wsdl:description element
information item), along the lines of option 2 that you propose below.
>
> You could have a document that didn't refer to any other document, and
> that would have a component model. That is a "leaf" node.
>
> Document can actually have circular references to eachother. The spec
> permits this. The component model therefore must include all the
> components in order to satisfy the intercomponent references.
>
> My reading of the spec is that all components belong to a single
> instance of the component model. The instance is defined by a root
> document and the set of documents it references.
>
> There are two possible ways we could improve the clarity of the spec:
>
> Option 1. Rename the Description Component to the Component Model
>
> This actually eliminates the Description component altogether and
> replaces it with an object called the Component Model. The spec talks
> a lot about the component model, but never actually defines it. We can
> make it clear that the component model contains all the components
> from all the documents processed.
>
> Option 2. Define the Component Model to be a set of Description
> Components, and restrict each Description component to only contain
> the components defined in it
Yes, I think this approach would be a considerably clearer and more
straightforward way to go. However, I would nitpick about the word
"set". "Directed graph" would be more precise: A given WSDL 2.0
document would have a single Description component, which may refer to
other Description components (if the original WSDL 2.0 document imports
other documents, for example), thus representing a directed graph.
>
> This makes the mapping between Description components and documents
> clearer.
Yes, and we need people to understand our spec. We have already
received complaints about how hard it is to understand.
> It introduces the technical subtlety of what to do about duplicated
> components. We currently allow duplicate components to come from
> different documents as long as the components are equivalent. To
> resolve component references, we need to pick a particular component
> among the set of equivant components (or formally introduce the notion
> of equivalence class and make component references resolve to those).
I think we have that subtlety already, but you're right it will have to
be resolved differently. There are several ways it could be handled. I
doubt equivalence classes would be needed. One way is for each
Description component to have an {imported descriptions} property. Then
if a new document is imported, ignore it if its corresponding
Description component is already in that set.
--
David Booth <dbooth@w3.org>
Received on Tuesday, 19 April 2005 01:53:22 UTC