The SOAP (Simple Object Access Protocol) is a messaging protocol that allows the programs running on disparate operating systems (such as Linux and Windows) to communicate by using Hypertext Transfer Protocol (HTTP) and Extensible Markup Language (XML).

Since the Web protocols are installed and used by all major operating system platforms, HTTP and XML provides an at-hand solution that allows programs running on different operating systems in a network to communicate with each other. SOAP specifies exactly how to encode an HTTP header and an XML file. Then a program in one computer can call an another program on an another computer and pass the information. SOAP also specifies how the called program can return a response. Despite its frequent pairing with HTTP, SOAP supports other transport protocols as well.

Uses of SOAP

The SOAP is fueling the rapid rise of “Web services,” which have the potential to change the face of an Internet application development.

All the web services are Internet-based modules that perform a specific business task. The service which publishes the interface to interact with Web Service Description Language (WSDL) and other applications can invoke the service by making the SOAP calls.

Some of the advantages of leveraging SOAP include:

  • SOAP is a platform and language independent.
  • SOAP simplifies the communications through proxies and firewalls
  • SOAP has the ability to leverage different transport protocols, including HTTP and SMTP, as well as others.

Some disadvantages of leveraging SOAP include:

  • SOAP is much slower than other types of middleware standards, including CORBA. This is due to the fact that SOAP uses a verbose XML format. It is necessary to understand the performance limitations before building an application around SOAP.
  • SOAP is typically limited to pooling and there will be no event notifications when leveraging the HTTP for transport. Only one client can use the service of one server in a typical situation.
  • SOAP has different levels of support, depending upon the programming language supported.
  • When leveraging HTTP as the transport protocol, it may tend to firewall latency as the firewall is analyzing the HTTP transport. This is due to the fact that HTTP is also leveraged for Web browsing, and many firewalls don’t understand the difference between the use of HTTP within a Web browser, and the use of HTTP within SOAP.

Categorized in:

Tagged in: