[Nsi-wg] Overly complex discovery WSDL

Henrik Thostrup Jensen htj at nordu.net
Tue Nov 27 04:50:52 EST 2012


Hi

I've been looking at the discovery WSDL, and was a bit amazed with how 
complicated it turned up being. Now I have not been very active in NSI for 
the last couple of months, and have missed a couple of meeting, but I 
think we've ended up with something a lot more complex than what we 
discussed in Oxford and the mailing lists.

For the request it looks like this:

queryNsaRequest :: QueryNsaRequestType
     queryNsaRequest :: RequestType
     filter :: FilterType *
         nsaId :: NsaIdType *
         serviceType :: xsd:string *

This is my own notation. Sorry if it is tricky to read. For the request it 
possibly to define summary of detailed request, but I haven't found any 
documentation on what should be returned for what. Secondly it is possible 
to have multiple filters, each specifying multiple nsaIds and 
serviceTypes. The parameters for each filter should be ORed, however there 
does not appear to be any documentation for how to deal with multiple 
filters. It also appears to be complete and utterly overkill as most NSAs 
will host 2 or 3 services.

Now, for the response:

queryNsaResponse :: QueryNsaResponseType
     discovery :: NsaDiscoveryType *
         # nsaId
         # softwareVersion
         # startTime
         # currentTime
         services :: ServicesType *
             service :: ServiceType
                 #other :: any
                 description :: xsd:string
                 versions :: VersionsType *
                     version :: VersionType
                         # name
                         # version
                         # endpoint
                         # wsdl
                         # url
                         # other :: any
                         other :: any *
                         capabilities :: CapabilitiesType *
                             capability ft:TypeValuePairType
                                 # type :: xsd:string !
                                 # targetNamespace :: xsd:anyURI
                                 value :: xsd:string *
                                 other :: any *

Here we are dealing with a datastructure potentially 9 levels deep. 
Arguably, some of this is due to the ackward way XML/WSDL handles lists, 
but there are still 4 levels of nested lists. I won't go into any details 
here.

I am not trying to do a witch-hunt on John here. In fact he may just have 
been listening to everyone, but what we ended up with here is pretty bad, 
and is in my opion very far from what we discussed in Oxford. I think we 
need to setup some review of WSDLs as well in order to ensure that these 
things do not spin out of control like this.

Anyways, something to talk about tomorrow :-).


     Best regards, Henrik

  Henrik Thostrup Jensen <htj at nordu.net>
  Software Developer, NORDUnet



More information about the nsi-wg mailing list