Issue 019: WSDL Version Neutrality

This is to start discussion of issues 019:

    The Member submission uses many WSDL 1.1-specific terms and
    concepts; we need to make the language equally applicable to WDSL
    2.0. E.g., mapping operation names to URIs.

    http://www.w3.org/2002/ws/addr/wd-issues/#i019

I believe that it is mainly editorial except for the implicit value of
the action property.

Our charter calls for components "usable independently of the SOAP or
WSDL version in use". This is actually somewhat broader than just
adding support for WSDL 2.0: we should use concepts which are abstract
enough to meet this goal.

The Member submission has the following issues:

- Endpoint references extend the WSDL description model, using WSDL
  1.1 concepts (e.g. portTypes); they define the following components:

  - [selected port type]: The QName of the primary portType of the
    endpoint being conveyed.

    This is very much WSDL 1.1-specific. This basically corresponds to
    the concept of Interface in WSDL 2.0[1]. We need to abstract this.
    Reusing the WSDL 2.0 definition, we could use:

      A QName identifying a description of the sequences of messages
      that a service sends and/or receives.

    Also for alignment with WSDL 2.0, I propose that we call this
    [selected interface], and in our WSDL mapping specification, map
    WSDL 1.1 portTypes and WSDL 2.0 interfaces QName identifiers to
    this property.

  - [service-port]: This is the QName identifying the WSDL service
    element that contains the definition of the endpoint being
    conveyed. The service name provides a link to a full description
    of the service endpoint. An optional non-qualified name identifies
    the specific port in the service that corresponds to the endpoint.

    WSDL 2.0's Service[2] and Enpoint[3] components have similar
    identifiers.

    Basically, I think that we should abstract this a little that
    saying that this is a (QName + NCName?), the QName identifying a
    description of a set of endpoints at which a particular deployed
    implementation of the Web service is provided (which is the
    definition of a WSDL 2.0 Service component), and the NCName
    identifying an endpoint in particular.

    Considering the description of service port which matches with
    WSDL 2.0 components names, I would like to suggest to name this
    property [service endpoint].

    I would also note that the service provides IMO a _reference_ to a
    full description of _a set of_ service endpoints: link rhymes with
    URI for me, which isn't the case here, and the service is about a
    set of endpoints.

- the XML serialization of EPR should refer directly to the abstract
  components instead of referring again to WSDL (1.1) constructs, and
  I believe that a similar renaming should be done.

- the action MIH has some WSDL 1.1 language associated to it. I would
  propose:

    It is RECOMMENDED that value of the [action] property is a URI
    identifying an input, output, or fault message within a WSDL
    description.

- the main issue with the action MIH comes from:

    An action may be explicitly or implicitly associated with the
    corresponding WSDL definition. Section 3.3 below describes the
    mechanisms of association.

  However, section 3.3 describes a WSDL 1.1-specific mechanism. If the
  service has a WSDL 2.0 description, another mechanism needs to be
  used, which is actually defined by the WSDL 2.0 specification[4].

  I would therefore propose that section 3.3 be introduced as a
  mapping of a WSDL 1.1 description to an action URI, that we note
  that for WSDL 2.0, the message reference component URI should be
  used.

  This leaves us with an interesting issue: if there is a WSDL 1.1 and
  WSDL 2.0 description available, which is the implicit value of the
  action property? If in a year's time we release WSDL 2.1, what
  happens? I believe that there is an implicit value of the action URI
  recognized by the recipient of the addressing information for the
  description of the service made in each version of WSDL. Those are
  equivalent for the purpose of our specification.

- in several places in section 1 and 2, the specification makes some
  statements about WSDL 1.1 which should basically be changed into
  statement about WSDL in general.

Regards,

Hugo

  1. http://www.w3.org/TR/2004/WD-wsdl20-20040803/#Interface
  2. http://www.w3.org/TR/2004/WD-wsdl20-20040803/#Service
  3. http://www.w3.org/TR/2004/WD-wsdl20-20040803/#Endpoint
  4. http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?content-type=text/html;%20charset=utf-8#frag-ids
-- 
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/

Received on Tuesday, 9 November 2004 00:48:55 UTC