SOAP is a language and platform-independent XML syntax for exchanging messages.
It defines a set of rules for structuring messages that can be used for
simple one-way messaging. It is an important building block for developing
distributed applications that exploit functionality published as services
over an intranet or the Internet (see Web Services).
SOAP codifies the practice of using XML and HTTP across networks and computing
platforms.
Because it combines the the data capabilities of XML with the transport
capability of Web protocols, SOAP overcomes the drawbacks of Electronic
Data Interchange (EDI) and tightly coupled distributed object systems such
as Common Object Request Broker Architecture (CORBA), Remote Method Invocation
(RMI) and Distributed Component Object Model (DCOM).
SOAP consists of three parts: an envelope message structure that defines
a framework for describing what is in the message and how to process it,
a set of encoding rules for expressing data types, and a convention for
representing how to make requests, give responses and deal with errors.
SOAP does not include any inherent security, so it must rely on other technologies
to achieve this. For example, SOAP messages transmitted over HTTP could
use SSL/TLS for communication session security. An
alternative is to use XML Signatures to ensure message integrity, and provide
message and originator authentication.