What are web services? While this might seem a simple question, this book demonstrates that the query has many answers. Much of this is because the typical conversation about web services suffers from the blending of several distinct concepts. Most software developers focus on the technical underpinnings that make communication possible (such as SOAP and XML-RPC). Others add to the web services category developer infrastructure, such as WSDL, the Web Services Description Language. Some even include a wide host of other pieces, including a mind-numbing array of standards (some real, some theoretical).
Because of this confusion, we must define what is meant by the term web services. Here's a good start:
Web Services: A vague term that refers to distributed or virtual applications or processes that use the Internet to link activities or software components. A travel Web site that takes a reservation from a customer, and then sends a message to a hotel application, accessed via the Web, to determine if a room is available, books it, and tells the customer he or she has a reservation is an example of a Web Services application.
This is a great start, but it still needs to be clarified a bit. This book doesn't engage in an intellectual debate as to the "correctness" of web services on a theological level. Instead, it focuses on the practical, real world usage of web services. For this book's purposes, web services are the latest evolution in distributed computing, allowing for structured communication via Internet protocols. As you'll see, this includes everything from sending HTTP GET commands to retrieving an XML document through the use of SOAP and various vendor SDKs.