[Nmc-wg] Transport protocol

Freek Dijkstra Freek.Dijkstra at sara.nl
Tue Feb 16 07:28:40 CST 2010


Hi all,

I was just going through the document again to see what can be improved.
  A few issues on the transport protocol.

The document never makes it clear what kind of transport protocol is
used. Section 2 say "The proposed architecture should mae this
functionality available vai Web Services (WS) [...]"

While there are different types of webservices, e.g.
* XML in SOAP over HTTP
* XML in SOAP over AMQP
* XML in SOAP over JMS
* XML in SOAP over TCP or UDP
* XML over HTTP (the recent low-overhead RESTful webservices)

In practice, only XML in SOAP over HTTP seems to be used. To we want to
impose that? I think it should be, though I am fine if it is either in
the NMC base document or in another document (which has the advantage
that if we later want to change the transport protocol, it is not
necessary to update the base document).

At least, when I play with the PerfSONARUI (great work by the way, it
allows me to understand PerfSONAR a bit better!), I see that a request
like this:

> <?xml version="1.0" encoding="UTF-8"?>
> <nmwg:message id="message1266324754" type="EchoRequest" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/">
>   <nmwg:metadata id="meta">
>     <nmwg:eventType>http://schemas.perfsonar.net/tools/admin/echo/2.0</nmwg:eventType>
>   </nmwg:metadata>
>   <nmwg:data id="data" metadataIdRef="meta"/>
> </nmwg:message>

Is transformed on the wire to this:

> POST /geant2-java-rrd-ma/services/MeasurementArchiveService HTTP/1.0
> Content-Type: text/xml; charset=utf-8
> Accept: application/soap+xml, application/dime, multipart/related, text/*
> User-Agent: Axis/1.4
> Host: 62.40.123.162:8080
> Cache-Control: no-cache
> Pragma: no-cache
> SOAPAction: ""
> Content-Length: 559
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <soapenv:Body>
> <nmwg:message id="message1266324654" type="EchoRequest" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/">
>   <nmwg:metadata id="meta">
>     <nmwg:eventType>http://schemas.perfsonar.net/tools/admin/echo/2.0</nmwg:eventType>
>   </nmwg:metadata>
>   <nmwg:data id="data" metadataIdRef="meta"/>
> </nmwg:message>
> </soapenv:Body>
> </soapenv:Envelope>

Beside describing the transport protocol, which document is to defined
the preferred TCP server ports for a given service? I presume the
documents describing the individual services should define the later.

Regards,
Freek


More information about the Nmc-wg mailing list