Three cheers for GET services
Guy Rixon
gtr at ast.cam.ac.uk
Mon Jun 7 11:33:03 PDT 2004
Roy,
things that HTTP-Get can do that SOAP can't:
- express a request in a _compact_ string;
- be invoked from an ordinary web-browser or similar HTTP agent.
AFAIK that's all.
The compact-string thing is important if you want to sent a request in hte
body of an email. You _can_ send a canned SOAP request to a colleague: it's
just an XML document. It's probably a big document, so you might want put it
in an attachment. You can put the address of the target service into the SOAP
header using WS-Addressing. You'd need a client to send the message: maybe a
web page. Should we write one?
Things SOAP can do that HTTP-get can't:
- send long lists of parameters (there's a limit on hte length of the
URL in HTTP-get)
- send structured parameters (HTTP-get only does scalars)
- send parameters controlled by a W3C XML schema
- protect the request parameters via digital signature (HTTP-get
messages can be intercepted and altered)
- send self-authenticating messages without pre-agreed passwords
- send messages through an intermediary, e.g. to get past a firewall
(possible but messy in HTTP-get; built in with SOAP)
- send the same message format via many protocols, e.g. HTTP, SMTP, JMS
Note that you _can_ describe HTTP-get services in WSDL; W3C has defined
bindings for HTTP-get and HTTP-post. However, we don't have any tools that do
anything useful with these descriptions (unless .NET has something: Wil?).
I agree with Tony that SOAP is for machine-to-machine communications. If we
want machine-to-human communications then we have to write a UI, which can
itself be a HTTP-get service.
Cheers,
Guy
Guy Rixon gtr at ast.cam.ac.uk
Institute of Astronomy Tel: +44-1223-337542
Madingley Road, Cambridge, UK, CB3 0HA Fax: +44-1223-337523
More information about the grid
mailing list