Years ago, web sites were created using only HTML. HTML was a simple language that enabled a web designer to add style and structure to a web page. Nowadays, cyberspace is much more complicated. With the advent of wireless internet access, HTML has been supplanted by more versatile programming languages such as XHTML, XSL, and most importantly, XML.
Why is XML important? Well, XML is used to define data, not to display it. None of the tags used in XML are predefined; programmers can create their own tags. An XML file is a simple text file, it does not tell a web browser how to display the contents of the file, it merely defines the data. As a result, the data contained in an XML file can be displayed equally across all platforms, browsers, and machines because every web browser displays a text file the same way, whereas some web browsers, particularly those installed on wireless devices, are not compatible with many elements of the HTML programming language.
Now that you understand what XML is and why it is important, you are now ready for an introduction to the main topic of this article, Simple Object Access Protocol (SOAP). Before SOAP, communication between applications and programs was accomplished using Remote Procedure Calls. However, once advanced security features such as firewalls were added to computers, communication between applications by using RPC became next to impossible because firewalls would often block RPC between applications. Also, RPC was complicated and not supported by all computers.
The solution was to enable applications to communicate using HTTP, because HTTP is supported by all computers and web browsers. SOAP is an XML-based language than makes it possible for applications to communicate using HTTP. First introduced by Microsoft and several other tech companies in the year 2000, SOAP was designed to connect a desktop GUI (graphical user interface) to servers using HTTP.
So, how is SOAP used to produce communication between applications? Well, a SOAP file is an ordinary XML file containing several key elements. All SOAP files contain an Envelope element, which is a predefined element used in XML to indicate that the file contains a SOAP message. There is also an Encoding element in every SOAP message; the Encoding element is also predefined, and it sets forth the data types in the document. And finally, all SOAP messages have a body element which contains call and response information. Some SOAP messages also contain a fault element to communicate error messages, but the fault element is optional. The most important part of a SOAP message, the part that does the actual communication work, is the body element. The body element contains the question that is to be asked of the application being contacted, and instructs the application to send back a response.
SOAP is now used in a variety of internet applications. Without SOAP, it would be difficult to create complex web applications that could retrieve information and send it back to the user. For example, when you log on to a website that provides real-time stock quotes and request the current market price for a certain stock, the price is fetched from a server that is constantly being updated with the latest price of each individual stock. Without SOAP, it might be difficult to communicate with the server that contains the stock price. SOAP uses HTTP and HTTP is the best way for applications to communicate with one another across any kind of platform, server, or web browser. Therefore, SOAP is a very important feature of internet applications development. Without it, it would be difficult to develop websites capable of communicating with other servers in order to retrieve valuable information from a database or other application and send it back to the user.
So, if you design web sites for a living, you should learn how to create a SOAP file. Though SOAP is not important for simple, static websites, the use of SOAP is crucial when developing an interactive site that is connected to an application, database, or other source of stored information that can be queried by the user. The use of SOAP and XML in general is becoming more widespread because there are now so many electronic gadgets that come equipped with access to the internet and email. Many of these new devices run on platforms that can not fully interpret HTML. So, as a web designer, you need to learn to use more versatile programming tools to create web sites that are compatible with all web browsers.