- 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