The Foundations of Web Services: From Novice to Expert
A web service is a way to make applications inter-operate across different programming languages, platforms and operating systems in order to share the data quickly and efficiently. In this series of articles, I will take you through the basic to advanced concepts for this subject. We will work together on technical aspects of web services for building, deploying, finding and debugging web services.
The Foundations of Web Services: From Novice to Expert - Understanding web services (Page 2 of 4 )
Web services are made to deliver distributed applications on the web via programmable components.
There are many potential applications where web services are extremely useful. These include services which are too difficult/expensive to implement, such as maintaining stock quotes, credit card validation, location mapping, and so on. They also include services that provide functionality to other services, such as user authentication via an MSN Passport account, and services which share data with business partners. These are just a few out of a large number of examples.
Web services are useful for not only the medium/large scale applications but also for simple and small scaled applications. Let's take the example of programming a shopping cart for a client. If your client asks that it be able to calculate the shipping cost on the various available shippers by fetching the cost of shipping when the shipping option is selected from your database, it becomes a task which will require lots of data management as well as integrity.
There are ways to overcome the obstacles to manage a large amount of data for each of the destinations for each type of shipper in your own database.
You may opt for screen scraping as one of the solutions. In this case you are simply fetching the related shipping costs from the shipper's websites and will calculate the cost of shipping for your shopping cart user. Of course, it is not the most effective way to handle this; if the webmaster of the shipping company's website changes the format of the page, you fall into a sudden and unexpected problem which is completely out of your control.
Instead of that, imagine that the shipping company's e-commerce website provides a web service (which generally all the service providers do!) which programmatically calculates the shipping costs as per the provided information. If you use this web service, you can easily get the direct shipping cost to simply display on your website.
By using such a web service you will sleep better, because you do not have to worry about updating the shipping cost data. Now the shipping cost is as real time as the shipping companies' websites.
Usage of web services also provides the platform in-dependency. You will never need to be concerned about the technology or platform in which the shipping company's application was developed.