|
|
The Advantages and Disadvantages of Using SOAP
Messages
HTTP is a transport-level protocols and SOAP is a messaging-layer
(communication) protocol. SOAP can be used in combination with a variety of
transport protocols - including SMTP, JMS, and other protocols in addition to
HTTP - and does not depend on any particular network protocol. Although HTTP
is a widely used protocol for SOAP, SOAP toolkit vendors have also started
providing support for other protocols, like SMTP. SOAP messages may travel
across several different transport-layer protocols before they reach their
ultimate destination.
SOAP Advantages:
-
Platform independent.
-
SOAP decouples the encoding and communications protocol from the runtime
environment. Web service can receive a SOAP payload from a remote service,
and the platform details of the source are entirely irrelevant.
-
Language independent.
-
Anything can generate XML, from Perl scripts to C++ code to J2EE app
servers. So, as of the 1.1 version of the SOAP specification, anyone and
anything can participate in a SOAP conversation, with a relatively low
barrier to entry.
-
Uses XML to send and receive messages.
-
SOAP is also a simple way to accomplish remote object/component/service
communications. It formalizes the vocabulary definition in a form that's now
familiar, popular, and accessible (XML). If you know XML, you can figure out
the basics of SOAP encoding pretty quickly.
-
Uses standard internet HTTP protocol.
-
SOAP runs over HTTP, which eliminates firewall problems. When using HTTP as
the protocol binding, an RPC call maps naturally to an HTTP request and an
RPC response maps to an HTTP response.
-
SOAP is very simple compared to RMI, CORBA, and DCOM because it does not
deal with certain ancillary but important aspects of remote object systems.
-
A protocol for exchanging information in a decentralized and distributed
environment.
-
SOAP is, transport protocol-independent and can therefore potentially be
used in combination with a variety of protocols.
-
Vendor neutral.
SOAP Disadvantages:
-
The SOAP specification contains no mention of security facilities.
-
SOAP 1.1 specification does not specify a default encoding for the message
body. There is an encoding defined in the spec, but it is not required that
you use this encoding to be compliant: Any custom encoding that you choose
can be specified in the encodingStyle attribute of the message or of
individual elements in the message.
-
Because SOAP deals with objects serialized to plain text and not with
stringified remote object references (interoperable object references, IORs,
as defined in CORBA), distributed garbage collection has no meaning.
-
SOAP clients do not hold any stateful references to remote objects.
|