SOAP is an implementation of Simple Object Access Protocol which is a messaging protocol that allows programs to run certain operating systems (such as Windows and Linux) to communicate using Hypertext Transfer Protocol (HTTP) and Extensible Markup Language (XML). Since Web protocols are installed and used daily by all major operating systems like HTTP and XML which provides an appropriate solution that allows programs under different operating systems in a network to communicate with each other solutions. SOAP exactly specifies how to encode an HTTP and an XML file. SOAP also specifies how the called program can return back a response. Despite its frequent pairing with HTTP, SOAP supports other transport protocols as well. SOAP also defines the XML- based message format that Web service applications used to communicate and operate with each other in the Web. SOAP is a standard form for encoding messages in XML format that invoke functions in other applications.
SOAP is similar to Remote Procedure Calls (RPC) used in many technologies such as DCOM and CORBA but eliminates some of the toughness of using these interfaces. SOAP enables applications running on any hardware platform, despite different operating systems or programming languages. SOAP calls are much more likely to get through firewall servers since HTTP requests are usually allowed through firewalls, programs using SOAP to communicate can be sure that the program can communicate with the other programs anywhere.
Some of the advantages of SOAP include:
- It is a basic platform and language independent.
- SOAP provides simplified communications through proxies and firewalls.
- It has the ability to hold different transport protocols, including HTTP and SMTP as well as others.
- SOAP web services can write in any programming language and can execute on any platform.
Some of the disadvantages of SOAP include:
- SOAP is much slower than any other types of middleware standards, including CORBA because SOAP uses XML format. You need to fully understand the limitations before building applications in SOAP.
- SOAP is limited to pooling and does not receive any event notifications when holding HTTP for transport.
- Only one client can use the services of one server in typical situations.
- When HTTP acts as the transport protocol, there tends to be firewall delay due to the fact that the firewall is analyzing the HTTP transport.