- From: Amelia A Lewis <alewis@tibco.com>
- Date: Thu, 08 Jan 2004 12:43:12 -0500
- To: David Booth <dbooth@w3.org>
- Cc: www-ws-desc@w3.org, Jacek Kopecky <jacek.kopecky@systinet.com>, Paul Downey <paul.downey@bt.com>
On Jan 8, 2004, at 10:28 AM, David Booth wrote: > I agree that a system stupid enough to suck down random WSDL documents > and be unable to function when it sees two logical WSDL documents that > define the same service would have a problem, but I don't think that's > a problem the WSDL language can or should address. Any system that > needs to suck down random WSDL documents should either: I do not think that the ability to handle arbitrary WSDL instances is either stupid or random, and reject the emotional loading that you are forcing into this argument (something *I* am *never* guilty of! the idea!). In particular, if a client wants to retrieve the description of a particular service so that it can dynamically construct messages, and if a particular toolkit permits a service to be generated from a WSDL, then in either case the collision of the service qname can lead to either overcomplex or nonworking systems. Let's take a specific case, rather than argue abstractions. WSDL 1: invalid-combined-service interface = ns:access binding implements ns:access = ns:accessbinding service tied to ns:access, endpoint uses binding ns:accessbinding = ns:service interface = ns:mgt binding implements ns:mgt = ns:mgtbinding service tied to ns:mgtbinding, endpoint uses binding ns:mgtbinding = ns:service WSDL 2 & 3: valid-because-we-wanna-be-language-lawyers-and-not-fix-our-mess WSDL 2: access-service interface = ns:access binding implements ns:access = ns:accessbinding service tied to ns:access, endpoint uses binding ns:accessbinding = ns:service WSDL 3:mgt-service interface = ns:mgt binding implements ns:mgt = ns:mgtbinding service tied to ns:mgtbinding, endpoint uses binding ns:mgtbinding = ns:service WSDL 4: valid-by-the-single-interface-per-service-restriction interface = ns:access binding implements ns:access = ns:accessbinding service tied to ns:access, endpoint uses binding ns:accessbinding = ns:accessservice interface = ns:mgt binding implements ns:mgt = ns:mgtbinding service tied to ns:mgtbinding, endpoint uses binding ns:mgtbinding = ns:mgtservice The intent of this entire proposal is to allow a single conceptual service to have a single qualified name describing it, by encouraging authors to work around the single interface per service restriction. At least, that's how I've read it. If the intention of the proposal is to permit WSDL 4, rather than the [loaded, emotional adjectives warning] stupid language-lawyering of WSDL 2+3 that bypass the validity problems of WSDL 1, then I'm completely out of line. But WSDL 4 is permissible (we've been planning on doing that one ever since we lost the single interface argument). There's no way of indicating, in WSDL, that accessservice and mgtservice are related, but that can be resolved with extensions or out-of-band data. I can see no good excuse for advocating the WSDL 2+3 kludge. It seems to me that if some other group is looking for workarounds to the single-interface-per-service restriction *already*, then we need to think about it. Again. We certainly should *not* recommend a strategy that increases confusion and makes coding more complex. Amy!
Received on Thursday, 8 January 2004 12:48:32 UTC