- From: David Booth <dbooth@w3.org>
- Date: Tue, 19 Apr 2005 22:01:07 -0400
- To: Martin Gudgin <mgudgin@microsoft.com>
- Cc: Arthur Ryman <ryman@ca.ibm.com>, www-ws-desc@w3.org
I didn't think option 2 was proposing to change the semantics of wsdl:import. My intent was simply to adopt a different strategy for describing the semantics in the WSDL component model. On Tue, 2005-04-19 at 18:21, Martin Gudgin wrote: > I would encourage you to NOT diverge from how XSD dealt with this. And > it sounds from the below like you are about to do just that. I don't > object at all to the spec being clear about what's going on, but I think > diverging from what XSD does would be 'a bad thing'. > > wsdl:import really is a serialization detail... > > Gudge > > > > -----Original Message----- > > From: David Booth [mailto:dbooth@w3.org] > > Sent: Tuesday, April 19, 2005 2:27 PM > > To: Martin Gudgin > > Cc: Arthur Ryman; www-ws-desc@w3.org > > Subject: RE: Contradictions regarding transitivity of wsdl:import > > > > Sorry, but renaming "Description component" to "component model" does > > not clear up the confusion. The confusion stems from the bizarre > > anachronism of components being in the component model -- which is > > derived *from* the infoset -- even though they were not > > supposed to have > > been visible at the *infoset* level. (How can the spec even > > talk about > > the visibility of components at the infoset level, when components do > > not exist at the infoset level?) It is almost as though a > > component is > > supposed to simultaneously exist and not exist in the component model, > > depending on who is referencing it. Let me demonstrate. > > > > Suppose I am reading the spec to verify the conformance and meaning of > > document A, which has not imported C. In particular, I have written > > binding A:bindingA in document/targetNamespace A to reference > > interface > > C:interfaceC from document/targetNamespace C, and I want to > > verify that > > I have got it right. I look at the rules for bindings, sec 2.9.2.2 > > says: > > http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20 > > .html?content-type=text/html;%20charset=utf-8#Binding_interfac > > e_attribute > > [[ > > The interface attribute information item refers, by QName, to an > > Interface component. > > ]] > > > > Section 2.9.3 then defines the value of the Binding component's > > {interface} property as: > > http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20 > > .html?content-type=text/html;%20charset=utf-8#Binding_Mapping > > [[ > > The Interface component resolved to by the actual value of > > the interface > > attribute information item, if any. > > ]] > > > > Section 2.19 then defines QName resolution: > > [[ > > . . . QName references are resolved by looking in the appropriate > > property of the Description component. . . . > > If the appropriate property of the Description component does not > > contain a component with the required QName then the reference is a > > broken reference. > > ]] > > > > One would expect that the reference from A:bindingA to C:interfaceC > > should result in a "broken reference", because A did not > > import C. But > > in the current component model, the C:interfaceC component *is* in the > > "appropriate property of the Description component"! In > > spite of this, > > it is somehow not supposed to be "visible". > > > > This doesn't make sense. It would be much clearer if the component > > model itself reflected the desired visibility of components in QName > > references, such that rules like 2.19 for QName resolution > > would have a > > transparent interpretation. > > > > Arthur's option 2 would solve this problem by adopting a more > > intuitive > > correspondence between the infoset and the component model. > > > > > > > > On Tue, 2005-04-19 at 11:28, Martin Gudgin wrote: > > > 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> > > > > > > > > > > -- > > David Booth <dbooth@w3.org> > > > > -- David Booth <dbooth@w3.org>
Received on Wednesday, 20 April 2005 02:01:15 UTC