XML vs SOAP
XML stands for EXtensible Markup Language. It is defined in the XML 1.0 specification, which is developed by the W3C (World Wide Web Consortium). XML provides a standard way, which is also simple, to encode data and text such that the content could be exchanged across driver hardware, operating systems and applications with little human intervention. SOAP (Simple Object Access Protocol) is a communication protocol based on XML. SOAP is also a W3C recommendation. SOAP is used to communicate between applications by sending massages among them through internet.
What is XML?
XML is a markup language that is used to transfer data and text between driver hardware, operating systems and applications with little human intervention. XML provides tags, attributes and element structures that can be used to provide context information. This context information can be used to decode the meaning of the content. This makes it possible to develop efficient search engines and perform data mining on the data. Furthermore, traditional relational databases are suitable as XML data because they could be organized in rows and columns but XML provides less support for data with rich content such as audio, video, complex documents, etc. XML databases store data in a structured, hierarchical form which allows queries to be processed more efficiently. XML tags are not predefined and the users can define new tags and document structures. Also, new internet languages such as RSS, Atom, SOAP, and XHTM were created using XML.
What is SOAP?
As mentioned earlier, SOAP is a communication protocol based on XML, which is used to communicate between applications by sending messages through internet. It is both platform and language independent therefore allows to communicate between applications that are running on different operating systems and using different programming languages. W3C recommended SOAP in June, 2003. A SOAP message is a XML document made up of the following main components: an envelope that notifies that XML document is a SOAP message and the instructions for processing it, a Header element holding header information that is specific to the application such as details about authentication, a body element that holds the actual message received by the receiver and an optional fault element containing errors and status information. Even though SOAP is mainly used with HTTP as the transport protocol, it could be used with other protocols (e.g. JMS, SMTP). SOAP can go through firewalls and proxies since it can work with HTTP.
What’s the difference between XML and SOAP?
XML is a markup language that is used to transfer data between driver hardware, operating systems and applications with little human intervention, while SOAP is a protocol based on XML that is used to communicate between applications through internet. XML – RPC (XML – Remote Procedure Calls) can also be used to communicate between applications by making procedure calls over the internet. But XML – RPC cannot handle complex user defined data types like SOAP. Furthermore, SOAP has the ability to give instructions on how to process the message, which cannot be done in XML – RPC.