In addition to what Ryan said. Web services are generally used to have a multi-tier architecture where web services work typically on the middle tier. Consider a scenario, where we have a database and a website that fetches data from this database. DB---> Website Now, you have a requirement that you need a mobile app, that will use data from the same database. DB---> Mobile Application You will be re-writing the entire logic to fetch data from DB in your mobile app To save yourself from such problems. Multi-tier architecture is the solution DB--->Web Service--->Website DB--->Web Service--->Mobile App DB--->Web Service--->any other client who can consume your web service By using this strategy you just have to write you Data Access Layer in web service only. Your clients will have to consume this service and get he data from it. There are a lot of scenarios where web services help a lot, integrating disparate systems using web services is another example. Google the use of web services and I am sure you will get a lot of stuff related to it.