How does Simple Object Access Protocol (SOAP) help in Internet Communication
The main reason for the design of SOAP by Microsoft was to facilitate the utilization of the web services provided by one application for use by another, irrespective of the object model, operating system or language in which both the applications are created. With this, a widely distributed, complex computing environment can be created leveraging on the existing internet infrastructure. SOAP enables component based services over the Internet so that Web services are available for a wide range of users achieving code re-use using Black box techniques. Unlike other
RPC (Remote Procedure Call) protocols like DCOM, CORBA, etc. which are
object model specific and not compatible with internet, SOAP is based
on XML using HTTP protocol which is supported by all browsers and servers.
Although SMTP is also a valid protocol layer for SOAP, it is often used
with HTTP as a protocol layer making it easier to communicate through
firewalls and proxies. To understand the simplicity of SOAP, it is better
to know about how it works: Similar to a HTTP message packet that has its own message format maintained for communication, a SOAP message has the following sections: Envelope
: to identify that the XML document is a SOAP message (mandatory) Communication using SOAP The three main components involved in the SOAP communication over the internet are as below: SOAP
client The SOAP client sends a SOAP request similar to that of below sample over HTTP through the internet. The SOAP server recognizes the request as a SOAP request and routes to its service manager (after checking whether the service is listed in the server), which then forwards it to the XML Translator. This XML translator decodes the method (service) to be invoked on the COM component (or the Java bean) and translates the result back to XML format to be sent as response. Thus, a high level of encapsulation of implementation of the service is achieved which makes it easier for applications to be interoperable. Sample SOAP Request <soapenv:Envelope Sample
SOAP Response The main limitation of SOAP is that due to its verbose XML data, the performance can be a drawback in cases where bulk data has to be transmitted. It is suggested to use MTOM (Message Transmission Optimization Mechanism) concepts to embed binary objects in messages in such cases. In its simple and versatile nature of development, SOAP has provided a facility to achieve interoperability among widely distributed web based enterprise applications cutting down the development time, cost, and leveraging on existing applications and resources.
|