Simple Object Access Protocol (SOAP) is a protocol standard that defines how two objects in different processes can communicate through XML data exchange. The importance of Simple Object Access Protocol (SOAP) is now related to Web Application and Cloud Computing. This protocol is derived from a protocol created in 1998 – XML-RPC. SOAP was created by Microsoft, IBM and others. It is maintained by the XML Protocol Working Group of the W3C.
Simple Object Access Protocol or SOAP : Basics
Simple Object Access Protocol (SOAP) is based on XML to represent the data and is propagated through the Internet protocols of the transport and application layer for the transmission of messages. The most common combination of SOAP is the usage over HTTP and TCP. SOAP can be used via SMTP, FTP, HTTP or JMS. The data is not mandatory to be in XML format, other formats such as CSV are also supported. The acronym SOAP is not officially died since version 1.2 as it became a misnomer.
SOAP can form the foundation layer of a stack of web services, providing a basic messaging framework in which web services can be built. This XML based protocol consists of three parts: an envelope, which defines what is there in the message and how to process it, a set of encoding rules for expressing instances of data types, and a convention for representing the procedure calls and answers. The SOAP protocol has three main features:
- Extensibility (security and WS-routing extensions are applied)
- Neutrality (SOAP can be used over any transport protocol such as HTTP, SMTP, TCP or JMS )
- Independence (SOAP allows for any programming model)
Implementations of SOAP
- Apache CXF (continuation of Codehaus XFire ), Apache Axis ( Java EE ), mSOAP, kSOAP and Java API for XML Web Services API for Java
- AWS Web Development Framework
- Curl package in CURL.XML.SOAP
- cSOAP and gSOAP for C/C++
- PHP: SOAP, nuSOAP and PEAR SOAP project for PHP
- Python SOAP, ZSI, SOAPpy and SUDS are SOAP libraries for Python
- SOAP :: WSDL open source toolkit for Perl
- SOAP for VisualWorks Smalltalk
- WebMethods GLUE
- Soap4r and Savon for Ruby
- TCLSOAP for the scripting language Tcl
- .NET Framework 2.0: For serialization in System.Runtime.Serialization.Formatters.Soap, System.Web.Services
- .NET Framework 3.x/4.x: WCF, System.Web.Services
Application developers today can use the email infrastructure of the Internet to transmit SOAP messages as text or email.