Why We Wrote This Book
Since the Web services architecture road map was published in 2002, an expanding set of composable specifications has been published. By the end of 2004, a substantial body of work was put into place that is sufficiently rich to serve as a foundation for building distributed applications. While the various Web services specifications had been published, we were missing a single reference that described how the features build upon each other. We wrote this book to provide this missing reference material, presenting the Web services architecture in a coherent manner with each constituent feature placed in context.The set of specifications discussed in this book represent the entirety of the Web services architecture at the time of publication. Although other specifications that either reference Web services or use the WS-* moniker have been published by a variety of sources, developers are cautioned to investigate whether and how they compose with this core set of protocols.A second objective for the book was to provide the basic principles or rationale for the architecture's protocol design. We adopt the widely deployed XML-based SOAP messaging infrastructure as a foundation and then layer fine-grained, composable units of functionality upon it. The requirement that composition be achieved with no side effects across the constituent protocols is highlighted. We justify our quest to provide a single architecture with a feature set rich enough to address the needs of a wide variety of applications and hardware environments. We insist on the premise that the collaborating services are autonomous. Interoperability is achieved when service interactions are defined exclusively in terms of messagesthe truth is on the wire.We also wrote this book to provide a simple end-to-end example of how these message-based protocols can be used together in concrete and useful situations. While there are many systems in use today that exploit a fraction of the Web services infrastructure presented in this book (the security infrastructure, in particular), we wanted to highlight a more comprehensive example of the use of the architecture.Finally, given the widespread industry support that the Web services protocols already have, we expect an increasingly large number of vendor implementations in the near future. We believe that being educated on the protocol's underpinnings will help others in their design of higher-level protocols that build on this core.