- From: Roberto Chinnici <Roberto.Chinnici@Sun.COM>
- Date: Tue, 19 Apr 2005 13:49:26 -0700
- To: Arthur Ryman <ryman@ca.ibm.com>
- Cc: "Yalcinalp, Umit" <umit.yalcinalp@sap.com>, www-ws-desc@w3.org, www-ws-desc-request@w3.org
Arthur, I agree with everything you wrote wrt import, but I think that "include" should do exactly that, i.e. collect pieces of a description spread over several documents and produce just one description component. In other words, wsdl:include should be invisible from a component model point of view: a single-document description and an equivalent one spread over multiple documents for authoring convenience should be indistinguishable. As evidence, I would point to the fact that given a single description component, a tool should be free to serialize it as a single document or as multiple ones (using wsdl:include). IMHO, that's the whole idea behind any inclusion facility, regardless of the particular language to which it applies. Otherwise, it shouldn't be called "include". Roberto Arthur Ryman wrote: > > Roberto, > > Option 2, which makes a closer connection between Description components > and <description> documents introduces some additional questions. > > I suggest that we have a 1-1 correspondence between Description > components and documents, and that we would model the <import> and > <include> elements as relations between Description documents. Each > Description component would only include the components directly defined > in the corresponding document. > > I'd add the following properties to Description: > > {location} the URI of the document > {target namespace} the absolute URI target namespace of the document > {imports} a set of Description components that this document imports > {includes} a set of Description components that this document includes > > If a namespace is deemed to be well-known in some context, i.e. the > <import> gives no explicit @location, then the processor can assign it a > synthetic {location}. > > A Component Model is then a non-empty set of Description components with > one Description component distinguished as the root. Each Description > component is uniquely identified by its {location} property. The > Description components form a connected, directed graph wrt the imports > and includes relation. Each Description MUST be reachable from the root > Description component. > > We can express the visibility rules wrt to the import and include > relations. > > This raises the question of how to handle equivalent components. I > suggest that one only allow one instance of any top-level component, and > we allow more than more Description component to refer to it. For > example, if document1 and document2 both contained equivalent interface1 > components then both document1 and document2 would refer to the same > interface1 component. This fits well with the {parent} property since > the top level components do not have parents. > > > 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/ > > > *Roberto Chinnici <Roberto.Chinnici@Sun.COM>* > Sent by: www-ws-desc-request@w3.org > > 04/19/2005 01:35 PM > > > To > "Yalcinalp, Umit" <umit.yalcinalp@sap.com> > cc > www-ws-desc@w3.org > Subject > Re: Contradictions regarding transitivity of wsdl:import > > > > > > > > > > I don't like this name change either. > > Besides the confusion caused by the proposed name change, I find option > 2 in Arthur's email a lot more appealing. Since David Booth called it > "a considerably clearer and more straightforward way to go", I would > suggest that examine it more carefully. My impression is that by > aligning the description component with the intuitive concept of a > description document, it will make things easier to grok for users. > The issues around component equivalence don't seem unsolvable. > > By the way, I'm assuming that if we go with option 2, wsdl:include would > not cause a second Description component with the same targetNamespace > as the including document to appear but would simply add components to > the existing one. > > Roberto > > > Yalcinalp, Umit wrote: > > Wouldn't this "name change" appear to imply that there are multiple > > component models rather than multiple descriptions? That is more > > confusing rather than clarifying IMO. > > > > -1 > > > > --umit > > > > > > > ------------------------------------------------------------------------ > > *From:* www-ws-desc-request@w3.org > [mailto:www-ws-desc-request@w3.org] > > *Sent:* Tuesday, Apr 19, 2005 8:29 AM > > *To:* Arthur Ryman > > *Cc:* David Booth; www-ws-desc@w3.org; www-ws-desc-request@w3.org > > *Subject:* RE: Contradictions regarding transitivity of wsdl:import > > > > OK, just wanted to make sure I'd understood the proposal. I think > > that change is fine. If such a minor change clears up the confusion, > > I'm all for it!!! > > Gudge > > > > > ------------------------------------------------------------------------ > > *From:* Arthur Ryman [mailto:ryman@ca.ibm.com] > > *Sent:* Tuesday, April 19, 2005 8:18 AM > > *To:* Martin Gudgin > > *Cc:* David Booth; www-ws-desc@w3.org; www-ws-desc-request@w3.org > > *Subject:* RE: Contradictions regarding transitivity of > wsdl:import > > > > > > Gudge, > > > > That's what I am proposing. What's your opinion? > > > > 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/ > > > > > > *"Martin Gudgin" <mgudgin@microsoft.com>* > > Sent by: www-ws-desc-request@w3.org > > > > 04/19/2005 10:35 AM > > > > > > To > > Arthur Ryman/Toronto/IBM@IBMCA > > cc > > "David Booth" <dbooth@w3.org>, > <www-ws-desc@w3.org>, > > <www-ws-desc-request@w3.org> > > Subject > > RE: Contradictions regarding transitivity of > wsdl:import > > > > > > > > > > > > > > > > > > So, to summarize; the plan is to rename, at the component model > > level, the 'Description' component to be called the 'Component > > Model' component? > > > > Gudge > > > > > ------------------------------------------------------------------------ > > *From:* Arthur Ryman [mailto:ryman@ca.ibm.com] * > > Sent:* Tuesday, April 19, 2005 6:07 AM* > > To:* Martin Gudgin* > > Cc:* David Booth; www-ws-desc@w3.org; www-ws-desc-request@w3.org* > > Subject:* RE: Contradictions regarding transitivity of > wsdl:import > > > > > > Martin, > > > > After your note, David phoned me and we talked for a long time. > > The conversation pointed out to me that what I considered to be > > the obvious interpretation of the component model was not so > > obvious. > > > > My interpretation was that the Description component contained > > all the components from all the documents. i.e., we are only > > talking about a single component model instance. Any reference > > from one component must land on another component within the > > same Description component. > > > > However, David thought that the Description component mapped > > more closely to the <description> element and that it contained > > only those components that were "visible" to the components > > defined in the document. > > > > I think this confusion could be reduced by adopting Option 1, > > namely get rid of the Description component and replace it with > > a new object named "Component Model". That would make is clear > > that there is no close correspondence with a document. > > > > The Component Model object would contain the same properties as > > the current Description component. These properties contain the > > "root" components: interfaces, bindings, services, and types. > > All other components are nested within the root components. > > > > Option 1 also has the benefit that we finally define the > > Component Model in the same amount of detail as we define the > > components. The spec refers to the component model a lot but > > never actually defines in much detail. > > > > 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/ > > > > *"Martin Gudgin" <mgudgin@microsoft.com>* > > Sent by: www-ws-desc-request@w3.org > > > > 04/18/2005 09:56 PM > > > > > > To > > "David Booth" <dbooth@w3.org>, Arthur > Ryman/Toronto/IBM@IBMCA > > cc > > <www-ws-desc@w3.org> > > Subject > > RE: Contradictions regarding transitivity of > wsdl:import > > > > > > > > > > > > > > > > > > > > > > > > I didn't think this was where we ended up after my 'illumination' > > e-mail... What happened? > > > > Gudge > > > > > -----Original Message----- > > > From: David Booth [mailto:dbooth@w3.org] > > > Sent: Monday, April 18, 2005 6:53 PM > > > To: Arthur Ryman > > > Cc: Martin Gudgin; www-ws-desc@w3.org > > > Subject: RE: Contradictions regarding transitivity of > wsdl:import > > > > > > 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 20:47:45 UTC