- From: Yaron Y. Goland <ygoland@bea.com>
- Date: Fri, 05 Mar 2004 11:27:57 -0800
- To: Martin Gudgin <mgudgin@microsoft.com>
- Cc: Arthur Ryman <ryman@ca.ibm.com>, www-ws-desc@w3.org
As a member of this group I work hard to make productive contributions. I spend a lot of time preparing what I'm going to say. I realize that this can still result in me saying silly things but at least I try hard to prevent it. So if I'm now saying something silly I apologize. I've thought this one through as best as I'm able and I just don't understand the objections. If someone defines a WSDL which imports/includes other information then, generally speaking, the WSDL can't be run unless that other information is available. However endpoints on the Internet, along with the Internet itself, are unreliable. One of the most common ways to deal with unreliability is to make information available at distinct locations. The advantage of making data available at distinct locations is that not only does it provide reliability in the face of endpoint failures but it also provides reliability in the face of network failures. If one has a list of possible locations then there are two distinct strategies one can use in retrieving the data. One can walk through the list serially or in parallel. Generally speaking serially is preferred. Not only does it reduce the load on the network but it also distributes the load (assuming a random starting point in the list) amongst the various endpoints. This later quality is especially nice as many organizations do not have the resources to run multiple endpoints so if they want to distribute their WSDL they will need to ask other people for a favor. The beauty of a serial based system is that the more people are willing to carry a copy of the document the less load each volunteer has to deal with. In other words, serial processing of alternate locations encourages people to volunteer to replicate each other's content. This is pure goodness. Parallel processing also has its place. In cases where performance is super critical it is can be reasonable to download redundant data in parallel in order to reduce the worst case performance scenario. But parallel processing of location lists should be used sparringly. It puts a much heavier load on the net and it actively discourages volunteers to replicate data since each volunteer will have to bear the full load of all requests regardless of how many volunteers there are. This is the opposite of serial processing where the larger the set of volunteers the less load each volunteer has to carry. If I understand what is being proposed below then in the case of importing documents it would be legal to import the same content multiple times. Which is a good thing. But, if the only way to get robust behavior is to include multiple redundant imports then we are forcing everyone, everywhere to use parallel loading. This means we are actively discouraging people from replicating each other's data. That just doesn't seem like a good idea. Allowing import/include to have more than one URI and specifying that the list is to be processed serially with a random start location is not a new design. It is well understood, well proven and widely used. Why is there so much resistence to something so obvious? I apologize if I'm being block headed but I really don't understand the source of contention. Thank you for your time and patience, Yaron Martin Gudgin wrote: > Yup. Agree completely. > > Gudge > > -------------------------------------------------------------------------------- > *From:* www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org] *On > Behalf Of *Arthur Ryman > *Sent:* 04 March 2004 13:33 > *To:* www-ws-desc@w3.org > *Subject:* RE: WSDL Import/Include Locations > > > Gudge, > > I think we are forced to allow the same component to be imported more than > once because this will occur for diamond inheritance. For example, suppose > we have four interfaces in four WSDL documents. > > interface Person > interface Manager extends Person > interface Engineer extends Person > interface EngineeringManager extends Manager, Engineer > > Manager.wsdl imports Person.wsdl > Engineer.wsdl imports Person.wsdl > EngineeringManager imports Manager.wsdl and Engineer.wsdl > > When EngineeringManager.wsdl gets processed its component model includes the > component models from both Manager.wsdl and Engineer.wsdl, which means that > the Person interface component gets added to the component model of > EngineeringManager twice. Since this was an important use case (i.e. diamond > inheritance) we agreed to allow duplicate component definitions, provided > they were the same. If they differ, it's an error. > > Generalizing this situation, we allow the same definition to be added > mutliple times via imports or includes, either directly or indirectly. > Therefore, it is permissible to import or include the same document via many > different URIs. > > 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-969-5063 > intranet: http://w3.torolab.ibm.com/DEAB/ > > www-ws-desc-request@w3.org wrote on 03/04/2004 08:04:21 AM: > > > I could go either way. I'm certainly happy with what you state below. > > > > Gudge > > > > From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org] > > On Behalf Of Arthur Ryman > > Sent: 04 March 2004 12:41 > > To: www-ws-desc@w3.org > > Subject: Re: WSDL Import/Include Locations > > > > > Gudge, > > > > My understanding is that it is OK to pull in the same definition > > twice. It is an error to pull in two definitions of the same > > component if the definitions differ. Do you agree? > > > > 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-969-5063 > > intranet: http://w3.torolab.ibm.com/DEAB/ > > > > www-ws-desc-request@w3.org wrote on 03/01/2004 06:02:17 PM: > > > > > > > > Which means that if one did decide to use two imports to pull in the > > > same data for the purpose of robustness then if both imports succeed, > > > besides wasting time and resources, the WSDL would be illegal since the > > > same data would be pulled in twice. > > >
Received on Friday, 5 March 2004 14:28:04 UTC