|
|
The IMesh Toolkit
[ Work In Hand > Technology Review > Standards and
Protocols ]
Simple Object Access Protocol(SOAP)
|
Overall Purpose
|
| The Simple Object Access Protocol is
designed to enable integration (interconnection) of services on
the Web by providing a common convention for tying services
together. It is an extension of HTTP that enables
application-to-application communication over the Internet. It
aims to be simpler than CORBA or DCOM, to cater for lack of
complexity in implementations and applications that use it; this
may be the case with internet-based applications, for which the
only guarantee is that they speak HTTP. |
Brief Overview of Functionality
|
SOAP makes use of the HTTP protocol (which
is already extensively in use) for transmissions, but provides a
platform for a more sophisticated exchange of information than
simple HTTP by adding a set of HTTP headers and an XML payload.
Commands and parameters are passed between HTTP clients and
servers. Clients send requests to a server to invoke an object (a
Call message, in the SOAP specification). The Server sends back
the results (a Response, the second message type in SOAP) and the
messages are encapsulated in HTTP protocol messages and encoded
in XML. The HTTP server recognises the HTTP header and processes
the message appropriately.
|
Deployment
|
SOAP is drafted by UserLand, Ariba,
Commerce One, Compaq, Developmentor, HP, IBM, Lotus, Microsoft
and SAP. It was proposed to W3C in May 2000.
SOAP is independent of the operating system, programming
language or object model used either on the client or server
side. Implementations of SOAP can be in any programming
language.
One implementation issue is that no provisions are made for
security. Application developers who use SOAP have to put the
effort into building security into their applications.
SOAP is among a number of protocols being surveyed by the XML
Protocols Working Group (a new XML-related W3C Working Group)
which is chartered with creating a simple foundation for
program-to-program communication using XML and is engaged in
developing a requirements document. [4]
A list of SOAP implementations is at http://www.soapware.org/directory/4/implementations
|
Related Standards
|
SOAP commands and parameters are passed
between clients and servers using HTTP i.e. SOAP needs HTTP as a
transport. SOAP client requests are encapsulated within an HTTP
POST packet. The use of the HTTP POST and additional HTTP headers
are described in the specification
Data is encoded using XML. XML namespaces are used to avoid
confusing SOAP keywords that are duplicated across environments.
[1][UKOLN XML review]
.
|
Relevance to IMesh context
|
| The role of SOAP would be in an
architecture in which distributed applications communicated via
HTTP, which is already supported in Internet browsers and
servers. This is a possible alternative to applications employing
remote procedure calls (RPC) via object models such as DCOM or
CORBA for communication. The proposed advantage of SOAP is that
it uses existing Internet standards: HTTP and XML. At the moment,
the typical deployment scenarios being pushed are in the
e-business services [7], for example, SOAP features in some of
the talks at the XML and VoiceXML In Telecoms event in January
2001 [6]. Distributed XML [7] has pointed out the potential for
SOAP and RDF to operate in a complementary manner but also
expresses concern about the role of agreement on XML vocabularies
and semantics for successful interoperability when these
XML-based technologies are employed. |
References
|
[1] Web Services and the Simple Object
Access Protocol
Peter Loshin, December 1999
http://msdn.microsoft.com/xml/general/soap_webserv.asp
[2] The SOAP specification
Don Box et al, 2000
http://msdn.microsoft.com/workshop/XML/general/soapspec.asp
[3] Simple Object Access Protocol (SOAP), W3C note, 08 May
2000
http://www.w3.org/TR/2000/NOTE-SOAP-20000508/
[4] XML-related Activities at the W3C
C.M.Sperbury-McQueen,January 2001
http://www.xml.com/pub/a/2001/01/03/w3c.html
[5] Introduction to SOAP
http://www.w3schools.com/SOAP/default.asp
[6] XML and VoiceXML in Telecoms
http://www.iir-telecoms.com/pdf/cb0385.pdf
[7] Distributed XML
Ed Dumbill,Managing Editor, XML.com, September 2000
http://www.xml.com/pub/a/2000/09/06/distributed.html?page=2
|
|