- 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