Back to IMesh Toolkit Home Page
Back to IMesh Toolkit Homepage
Subject Gateway Requirements
Technology Review
Work In Hand
  Personalization
Annotation
Reading Lists
OAI  Normalization tools
Metadata Exchange
RDF queries
Evaluation
Dissemination
Project Documentation
Related Links
Project Partners
IMesh Home Page

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

Other Standards and Protocols

CIP DC LDAP OAI
RDF RSS SDLIP SOAP
WHOIS++ XHTML XML Z39.50