the Bush Files: Web Services
Posted by the markITeer on June 6, 2007
This post is part of a series of things ‘everybody-assumes-you-know-but-actually-you-don’t-have-a-clue’.
I call them : the Bush Files.
Today : Web Services
Although there are a lot of interpretations of the term ‘web services’, it’s most commonly used to describe a set of functionalities of an application that are made available to other applications over the Internet.
For example: Google has a web service allowing you to use their famous search capabilities from within your own web application. You might create your own search box, ask Google for the results of the search via the web service, and show the results any way you like on your web page. Or you might use the web service of Google Maps to (programmatically) ask Google for a map of your region, mark your house, your cafe and the place you walk the dog and publish the result on your website. Schematically, this would look like this:
It doesn’t always have to be this visible though: You could also use a web service to e.g. store information in some database somewhere on the web every time a user fills out a form on your website, as pictured below.
Applications talking to each other via functions that the applications made available, is not new. The common name for this in the programming world is API: Application Programming Interface, or a way for applications to programmatically interface with each other. Add the web in between the applications, and you understand why Web Services are also often referred to as “Web API‘s”.
Typically, the communication between the applications over the Internet will be done through SOAP (Simple Object Access Protocol): a set of rules (or ‘protocol’) designed to transfer data in a specific dialect of XML over the Internet. So the applications basically talk XML to each other! And a description of the functionalities that can be used, is made available in a WSDL file (Web Services Description Language), which is basically… also XML (click here for the Google search WSDL, you can find functions in there like ‘doGoogleSearch’ and ‘doSpellingSuggestion’).
There are a lot of issues involved in creating and using web services, none of the least is security. But overall it has opened up a lot of possibilities and nowadays powers a great lot of the Service Oriented Architecture (see ‘Web 2.0 unraveled‘) pillar of Web 2.0.