Overview of the Book's Composition
Chapter 1 begins the book with an explanation of what the Web services approach is all about. We describe what a Web service is, what standards and technologies are associated with Web services, and what problems can be solved using Web services. We use this chapter to introduce the SOA conceptual framework and begin to explain how the various Web services standards such as SOAP, WSDL, and UDDI fit together. This chapter will give you a solid conceptual basis for the rest of the book.
Before we can get into the core Web services standards, we take a brief side trip to explain XML in Chapter 2, "XML Primer." Because XML is at the heart of all the Web services standards and techniques, it is important you understand it well. XML is a huge topic, but we focus our examination of XML on what you will need to know in order to understand the rest of the Web services topics.
After the review of XML, Chapter 3, "Simple Object Access Protocol (SOAP)," dives in to the core problem of invoking a Web service. We review the topic of XML messaging in a distributed computing environment, focusing on the SOAP message enveloping standard. SOAP forms the core basis of communication between a service requestor and a service provider in a Web services environment.
Chapter 4, "Creating Web Services," refines your understanding of SOAP in the context of a particular SOAP infrastructure: the Apache Axis project. Chapter 4 dives into the details of how Axis works and how you can use it to make it easy to deploy Web services and have your applications consume Web services.
At this point, you will have a great background understanding of SOAP and at least one way to make SOAP real: Axis. But SOAP alone is not enough to do more than very simple Web services. Chapter 5, "Using SOAP for e-Business," adds detail to the concepts introduced in Chapters 3 and 4 by explaining how you can build Web services for complete business computing problems. Chapter 5 discusses how Web services addresses many distributed computing problems including security, performance, quality of service, reliability, and so on.
Chapter 6, "Describing Web Services," introduces the important notion of service description, which is key to making Web services the great application integration technology for building loosely coupled systems. Chapter 6 discusses how Web services uses service description to address the problem of communicating what details the service requestor needs to know about the Web service in order to properly understand how (and why) to invoke it.
Now, you need to understand how the service requestor got the service description in the first place. Chapter 7, "Discovering Web Services," picks up where Chapter 6 left off, discussing the various techniques for Web service discovery. This chapter examines the standards related to finding what Web services are provided by businesses with which a company might want to collaborate.
Chapter 8, "Interoperability, Tools, and Middleware Products," fills out your understanding of best practices in the Web services arena by examining various other Web services infrastructure and tooling environments.
The book concludes with a forward-looking Chapter 9, "Future Concepts," which speculates on some possible future uses of Web services technologies to address other problems in distributed computing.
This book introduces quite a few terms with which you might not be familiar. We have included a glossary at the back of this book that acts as a great reference guide to the terminology used in the book. We will annotate the first use of each term appearing in the glossary using the symbol.
So, before we get started, let's introduce the fictional company we'll use for our examples throughout this book: SkatesTown. We will follow SkatesTown as the company exploits Web services to improve its business.