A Web service is any application that makes itself available over the Internet for use by other software systems.
Other software systems may interact with the web service over the Internet using one of several messaging protocols. The most commonly used of these is SOAP, but REST is quickly gaining in popularity.
SOAP services are described and defined in a Web Services Description Language (WSDL) document in a standardised way which allows easy incorporation into client software. A software toolkit is normally required to then generate program code from the WSDL document.
REST services are considered as ‘resources’ and are accessed directly via a URI, similar to those which we enter into web browsers when navigating to a web site. No toolkit is required to access a REST web service and this simplicity of implementation is one of the factors driving the rapidly increasing popularity of REST.
REST (Representational State Transfer) is a new and increasingly popular web services protocol, providing a simple alternative to SOAP.
REST uses ‘built in’ HTTP functions such as GET and POST to access web services. This removes the need for complex XML messaging and means that client applications can access the service without the need for special toolkit software.
SOAP (Simple Object Access Protocol) provides ‘object’ like access to web services. It is an XML based messaging technology, which provides a structural way to format data, to describe what the service does and make the service available to others.
XML SOAP messages are passed both to and from the web service. Because these XML SOAP messages can be quite complex, developers may need to use a toolkit to do the actual message handling.
WSDL (Web Services Description Language) is an XML document that describes the interface of a specific web service in enough detail to allow a user to build a client application to call it. The WSDL for a service such as BankVal will specify, among other things, the parameters passed to the service (parameter name, data types etc.), the results returned from the service and the actual location of the service (URL).
A SOAP toolkit is used to generate and interpret the SOAP messages that are passed between your system and a web service. It is possible to write a program to process the raw XML messages but it is much simpler to to use a toolkit to do this. There are free toolkits for most programming languages and instructions on how to get a toolkit for your programming language are given in the Cookbook.
Microsoft‘s .Net platform is actually built around SOAP technology, so no additional toolkit is required when using .Net programming languages.