Simple Object Oriented Protocol or SOAP is a stateless, platform
independent, XML based generic lightweight protocol that used HTTP as its
transport and can be used for developing distributed complex computing
environments. SOAP is about applications communicating directly with each
other over the Internet in a very rich way. It is a stateless, message
exchange paradigm that allows for exchange of data between heterogeneous web
applications. SOAP is supported on any platform and be utilized on a wide
variety of applications. SOAP is similar to its contemporary technologies,
like DCOM or CORBA, in the sense that both provide a RPC mechanism for invoking
remote methods. However, SOAP differs from these technologies in the XML Open
Standard that it provides for the purpose of data exchange between homogenous
or heterogeneous distributed applications. SOAP is supported by both HTTP and
SMTP, but HTTP gained more acceptances over the years.
SOAP is platform independent, language independent and
messaging between applications makes this protocol a robust and standardized
mechanism in order to handle message communication across homogenous or
heterogeneous networks. The most common messaging pattern used in SOAP is
Remote Procedure Call or RPC. This indicates that the client sends a request
message to the server. The server in turn sends the response message to the
client. The prerequisite for having a proper understanding of SOAP is XML. This
is because XML is the basis of all SOAP related activities. All SOAP messages
are transmitted in XML format. XML, a platform independent Meta (Language
composed of non-binary ASCII text), has revolutionized the way data is
transferred between systems. XML is fast becoming as ubiquitous as HTTP. It
has now already become an accepted standard for representation and interchange
of data in structured form accross systems. All SOAP messages are transmitted
as XML.