- From: <Jochen.Ruetschlin@DaimlerChrysler.com>
- Date: Fri, 14 Jun 2002 10:59:56 +0200
- To: <joyce.yang@oracle.com>
- Cc: <www-ws-desc@w3.org>
Again, I dissagree with this (cf. http://lists.w3.org/Archives/Public/www-ws-desc/2002May/0204.html). As I see it, actually the intention of WSDL is important: (1) Is WSDL for describing _existing_ services? (2) Is WSDL for the specification of services ("modelling of their interfaces")? (3) Is WSDL for both, description and specification? My impression so far I got from the charter and the discussion of the usage of WSDL (e.g. cf. the usage in a UDDI repository) is to use it in the sense of case 1 --- describing services which are already out there (again: using a Web service necessarly does not require an WSDL document). So IMHO for case 1 (and with this 3) we are supposed to provide the possibility to describe overloaded operations, because a service could be implemented in this way. We should not shrink back from an inconvenient implementation, which in my opionion is out of the scope of WSDL in the same way as the fact in which PL and how a Web service is implemented. Regarding case 2, overloading operations actually holds the danger, that a direct mapping between an operation specified with WSDL and the method implementing its functionality is not possible in a straightforward way. But this is also true for other modelling/specification techniques --- special description features could not mapped directly to the implementation (e.g. using some UML features in conjunction with a non-OO PL). Futhermore I think, that somebody who is going to implement a Web service and first wants to specifiy its interfaces with WSDL, this person already has in mind what programming language he will use afterwards for the implementation. Having this in mind, he could omit features which the PL does not support. If he is not thinking about a certain PL, I assume, that the relevance of the later used PL does not play such an important role. And with this a modern one, which allows function overloading could be used. Correct me, if me thoughts are wrong. As stated in 2.1 of our charter (http://www.w3.org/2002/01/ws-desc-charter#prog ) the WSDL framework "is not geared towards any programming language". The other way round this could mean, that we should not exclude useful features only because some --- let me be more restrective and say: "exotic" in the sense of not used in a broad way --- programming languages does not allow function overloading. Just my point of view. Regards jr. Jochen Rütschlin DaimlerChrysler · Research and Technology Data and Process Management (RIC/ED) P.O. Box 2360 · D-89013 Ulm (Donau) · Germany Visitor's address: Wilhelm-Runge-Straße 11 Phone: +49.731.505-2830 Telefax: +49.731.505-4401 Internet E-Mail: jochen.ruetschlin@DaimlerChrysler.com joyce.yang@oracle.com Gesendet von: www-ws-desc-request@w3.org 13.06.2002 19:29 An: www-ws-desc@w3.org Kopie: Thema: Rationale to close the operation overloading issue Regards, Joyce ------- Starting with a WSDL that allows overloading means that there will be a mangling problem when mapping to languages that do not allow overloading. Even if one accepts that argument that "modern" languages, and the only ones that we need to be concerned about, support overloading, there still may be a problem. The mapping will only be "natural" if the type systems between WSDL and the target languages are similar "enough" that the languages will allow the reuse of a method name for all possible overloadings in both directions. For example let's say that in an overloaded WSDL there is a difference between unsigned and signed integers, so that i can have 2 foo(), one with an unsigned integer, the other with a signed integer. What will happen in a language which doesn't allow a foo(unsigned integer) and foo(integer)? Another issue that arises is the efficiency/possibility of doing dispatch on the server side. If WSDL allows overloading, then the dispatch mechanism will have to determine which "real" method to call based upon the actual parameter types in the request. (Dispatch based upon name won't be good enough.) Resolving the ambiguity may be quite complex and time consuming. Therefore, for simplicity and loose coupling between the endpoints, WSDL should not support operation overloading. The operation names within a portType should be unique.
Received on Friday, 14 June 2002 05:00:33 UTC