In general, software applications are developed to be consumed by the human beings, where a person sends a request to a software service which in-turn returns a response in human readable format.
In the modern era of technology if you want to build a software application you don't need to build each and everything from scratch. There are lots of readymade services available which you can plug into your application and you can start providing those services in your application.
For example you want to display weather forecast information you don't need to collect, process and render the data in your application. You can buy the services from the people who already well-established in processing and publishing such kind of data.
Web services allow us to do these kind of implementations.
As an example, consider the following WebService
http://www.webservicex.net/stockquote.asmx?op=GetQuote
It gives Share Value for a Company.
Let's find share price for Google (Symbol: GOOG )
The response XML gives the stock price.
This WebService can be called by a Software Application using SOAP or HTTP protocol.
Web Services can be implemented in different ways, but the following two are the popular implementations approaches.
- SOAP (Simple Object Access Protocol)
- REST (Representational State Transfer architecture)