1)The old applications communicated using Remote Procedure Calls (RPC) between objects like DCOM and CORBA, but HTTP was not designed for this. RPC represents a compatibility and security problem; firewalls and proxy servers will normally block this kind of traffic.
A better way to communicate between applications is over HTTP, because HTTP is supported by all Internet browsers and servers. SOAP was created to accomplish this, and SOAP provides a way to communicate between applications running on different operating systems, with different technologies and programming languages.
2)SOAP is a specialization of XML, as it has a schema, such as http://www.xmlsoap.org/soap/envelope/, whereas XML is more general.
3)You can find details about SOAP here:
http://www.w3.org/TR/soap/[
^]