A fair amount of speculation surrounding Ajax applications concerns the availability of web services. Web services make it possible for developers to request data from sites outside of their direct control (usually), getting a feed of data in response, though sometimes a web service can be completely internal to an organization and be used as a data transportation device as well. Web services is a much talked-about buzzword floating around the web development community, and it is important to have a good handle on what web services are before moving on to using them.
According to the World Wide Web Consortium (W3C), a web service is “a software system designed to support interoperable machine to machine interaction over a network.” What you will see most often on the Web is an API that may be accessed over the Internet and executed on a remote system. Many different types of systems could be defined as web services, but for the purposes of this book I will define web service as a service that uses XML to communicate information between two systems: one that dispenses information and one that requests that information. Figure 17-1 shows a basic diagram of how a web service can be constructed.
Figure 17-1. A simple diagram demonstrating the pieces of a web service
Web services are architected in different ...