It is difficult to structure a book on Web services. The concepts and standards are very much interdependent. It is hard to cover each topic in isolation, because it is the combination of these concepts and standards that make Web services important to distributed computing.
The philosophy of this book can be summarized by four points: pragmatics, progressive disclosure, a running example, and a service-oriented architecture framework.
In this book, we try to get to programming examples and running code as quickly as possible. In particular, we focus on building and consuming SOAP-based Web services using the Apache Axis Web services infrastructure. This is a Java-centric approach to building Web services. Whereas we emphasize that Web services are fundamentally programming language neutral, ultimately, any given Web service is implemented in some programming language technology. In the case of this book, we have chosen Java. Where issues of interoperability with Web services written in other programming languages might appear, we note them. Detailed coverage of other Web services implementation approaches, such as Microsoft's .NET, is beyond the scope of this book, although we do give some basic examples of .NET and other environments in Chapter 8, "Interoperability, Tools, and Middleware Products."
After the overview of Web services, we start with the fundamentals of XML, and then layer on new concepts, motivated by a business computing problem. These layers produce a series of Web services technology "stacks." For each of the technologies and standards in the Web services arena, we focus on understanding the technology from the perspective of what problems it solves, balancing the explanation of the technology itself.
The technologies and standards that make up the Web services concept are each examined in the context of a running example (which we discuss later in this introduction). The use of the running example adds insight to the explanation of the concept in the text of the book and supports the progressive disclosure approach as we follow the example, adding the layers of Web services technology to the solution. This approach helps position various best-practices approaches to Web service development and deployment. You can download the source code for these running examples from www.samspublishing.com. When you reach that page, enter this book's ISBN number (0672321815) in the search box to access information about the book and a Source Code link.
The examples and Web services concepts are discussed in the context of a service-oriented architecture (SOA) that we introduce in Chapter 1, "Web Services Overview." We use the SOA framework to help position the various Web services concepts back into a bigger picture.