OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

uddi-spec message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Subject: Re: [uddi-spec] WSDL: Comments on WSDL Technical Note


Thanks for sending your comments.  I have responded inline below, <JC>like

John Colgrave
----- Original Message -----
From: "Von Riegen, Claus" <claus.von.riegen@sap.com>
To: "'UDDI Spec TC'" <uddi-spec@lists.oasis-open.org>
Sent: Thursday, November 14, 2002 3:27 PM
Subject: [uddi-spec] WSDL: Comments on WSDL Technical Note

> As requested, here are my outstanding comments/issues/questions w.r.t. the
"Using WSDL in a UDDI Registry" Technical Note.
> Since I have not received an updated version so far, the comments are
based on the paper version that was distributed this Monday at the FTF.
> 1. General
> First of all, I'd like to thank John and Karsten for their tremendous
amount of work they have done in order to set this up.
> Also, I'd like to see the TC's formal review period for this Technical
Note to be started as soon as possible so that it can be publicly posted in
order to get early feedback from the general public. However, I still have
several issues that I'd like to be seen addressed or clarified.
> 2. Goals and Requirements
> I support the goal to allow deployment WSDL to be generated from UDDI
(which is not new in general), but the document is missing reasoning for
several of the detailed requirements in the later sections (see below).
> 3. Mapping wsdl:service to uddi:businessService
> There is no real need to map wsdl:service elements to uddi:businessService
elements. A service in WSDL is a logical grouping of ports and does not
contain any information that is relevant to Web service interoperability.
The information that is really required in order to invoke a Web service is
> obtained from the port and the artifacts it references (binding, portType,
operation, message). Since the requirements for grouping
uddi:bindingTemplate elements in uddi:businessService elements (for example,
a purchase order service that can be invoked by using different protocols)
can differ from
> the ones for grouping wsdl:port elements in wsdl:service elements (for
example, a purchase order Web service that is offered to different public
and private communities), I'd like to see the requirement for the one-to-one
mapping relaxed.
> This would mean to remove the sections for mapping wsdl:service to
uddi:businessService (section 2.6.3 in V2 and section 2.7.3 in V3)

Even if we did relax the one-to-one mapping to one-to-many I think we would
still need to capture the namespace etc., we would simply be duplicating it
to each of the many businessServices.  I think we would still need the
equivalent of 2.6.3 and 2.7.3.  In the context of a UDDI TN/BP, I think it
is valid to describe what is the best case for UDDI, namely when the ports
represent alternate endpoints for the same portType.  I hope the WS-I Basic
Profile ends up saying something about this.  I will certainly give it some
more thought during the review period.

> 4. Identifying wsdl:portType and wsdl:binding elements in uddi:tModel
> Rather than splitting the targetnamespace and the local name of portType
and binding elements when registering them as tModels, the tModel name could
also be built by concatenating them (sections 2.6.1, 2.6.2, 2.7.1, 2.7.2).
For example, the tModel that represents the UDDI V3 Inquiry API portType
> tModel would be named
"urn:uddi-org:api_v3_portType:UDDI_Inquiry_PortType". As a consequence, the
WSDL Namespace category system would be dispensable. Also, by using the URN
logic, one could easily search (even in V2) for
> * all tModels published by UDDI.org ("urn:uddi.org")
> * all tModels that represent a known UDDI API portType or binding (e.g.
"urn:uddi.org:api_v3_portType" or "urn:uddi.org:api_v3_binding")
> Searching for tModels based on the portType and binding name,
independently of their namespace, seems to me to be of minor importance.
However, this would be available in V3 by using the extended wildcard
mechanisms (e.g. "%UDDI_Inquiry_PortType").

If I recall correctly, Karsten's original draft did this.  We felt that this
was not sufficiently flexible and I thought it would be useful for people to
be able to do a very simple query for a tModel corresponding to a portType
local name, especially when they wanted to see what the tModel looked like
rather than using WSDL tools to work with these things automatically.  As
you point out, the extended wildcard mechanism is only available in UDDI V3
and we wanted to support the same functionality in V2.

In general, I think this approach offers (slightly) less functionality, at
least in V2, and makes life more difficult for people and tools as they need
to spend time parsing the names and gluing the different pieces together.

> 5. Registration of wsdl:port elements
> Sections 2.6.4 and 2.7.4 are missing reasoning why
> * to put the wsdl:port local name in the bindingTemplate's instanceParms
element (2.6.4) or in one of its keyedReference elements (2.7.4)
This is being addressed.
> * to reference the portType tModel while the binding tModel is already
referenced and thus allows the needed query - also, V3 (2.7.4) already
allows a one-step query by using a find_service with an embedded find_tModel
There is a description of why this is done, it is to optimise queries for
implementations of a portType, which are likely to be the most common type
of query supported.  Yes, you can do an embedded query in V3 but we wanted,
in general, to be able to support the same queries as in V2 where possible
to aid migration for tool vendors etc.  If people do know the tModelKey then
it seems unnatural to force them to back up a step and find it again based
on its name, or other criteria.
> * to reference the WSDL file that describes the wsdl:port (2.6.4) since
this is quite redundant to the mandatory accessPoint (if the
hostingRedirector is not used) - also, it would not be compatible to Version
1 of the WSDL Best Practice
It is not redundant.  See my comments to your point 7. below.
> * to categorize the bindingTemplate as being of type "port" (no other UDDI
artifacts can be of this type and the "WSDLness" can be discovered by the
referenced tModel
By which referenced tModel?  There is no other way to be able to search for
any bindingTemplate that corresponds to a WSDL port.  This may also be
related to your point 7 below in that if you require extra address
information it is better to limit your search to WSDL-related
bindingTemplates as you can then have more confidence that they will have
the extra information.
> 6. Registration of WSDL binding information in uddi:bindingTemplate
> The registration of WSDL binding information, whether it is SOAP, HTTP or
another binding, in uddi:bindingTemplate elements (sections - 3 and - 3) seems to be at too low a level. The binding tModel should
already by typed strongly enough in order to provide all necessary binding
> information that is used in ALL Web service implementations that are
represented by corresponding bindingTemplate elements. Why should every
implementation be mandated to provide this information?
It is so that you can limit your query to bindingTemplates that support
SOAP/HTTP for example rather than having to find all the SOAP/HTTP binding
tModels and then search for all bindingTemplates that have any or all of
those binding tModels.
> 7. Other addresses
> How can an address be described in WSDL but not be mapped to the
uddi:accessPoint (sections .6.4.6 and
We had a requirement that was reiterated several times and that, I believe
was related to WS-I work, to support address extensions in WSDL by being
able to defer address information to the WSDL file rather than mapping it
directly to the accessPoint.  The accessPoint is just a string, with a
maximum length of only 255 in V2 and 4096 in V3, so any type of address
information that does not correspond to this will require the use of the
WSDL file.

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Powered by eList eXpress LLC