SOAP stands for Simple Object Access Protocol. SOAP is XML-based protocol used for accessing a web services. It is used for exchanging information over HTTP. SOAP can creates the foundation layer of a web services protocol stack.
SOAP was developed by Dave Winer, Don Box, Bob Atkinson, and Mohsen Al-Ghosein in 1998 for Microsoft. The SOAP is maintained by the XML Protocol Working Group of the World Wide Web Consortium.
Structure of SOAP
This XML based protocol consists of three parts
1) An envelope: – Which defines what is in the message and how to process it
2) A set of encoding rules – This rules used for expressing instances of application-defined data types
3) A convention: – It is used for representing procedure calls and responses.
Uses of SOAP
It helps to application development to permits Internet communication between programs. SOAP is also user for data exchange between homogenous or heterogeneous distributed applications.
Nowadays applications communicate via Remote Procedure Calls (RPC) between objects. Eg: -DCOM and CORBA. But HTTP was not designed for this. Some compatibility and security problem happens in RPC. Normally firewalls and proxy servers will block this kind of traffic. By solving this problem we are using SOAP. SOAP is a better way to communicate between applications is over HTTP, because it provides all facilities related to Internet browsers and servers. SOAP provides the following facilities also.
1) Helps to communicate between applications running on different operating system.
2) Its works in different technologies and programming languages
SOAP is a type of messaging framework. It supports in the Java, .NET and open source communities during the early part of the 2000s. SOAP is the basics of many Web services projects and also it allows the mechanism by which many other Web services standards. SOAP works in different operating system by using World Wide Web’s HTTP (Hypertext Transfer Protocol) and it’s XML (Extensible Markup Language). It is used as a mechanism for information exchange. Soap defines hoe to encode an HTTP header and an XML file so that a program in one computer can call a program in another computer and pass it information and also it specifies how the called program can return a response.
SOAP is mainly used by distributed applications. The two major goals SOAP are,
1) It provides a standard object invocation protocol built on Internet standards, using HTTP as the transport and XML for data encoding.
2) It creates an extensible protocol and payload format that can evolve.
if a system “A” communicates with a system “B” using IIOP, both these systems should have support for IIOP to ensure that the communication takes place successfully. For a heterogeneous environment this is not feasible. The situation is more complex. Simple Object Oriented Protocol (SOAP) is an Open Standard protocol and the solution to this complexity.