Contents of this tutorial

Web services is the convergence of a suite of technologies into a cohesive whole. It unifies approaches that we as an industry have been doing in a standalone manner for many years. Java is a powerful technology that has contributed to the successful development of many large, mission-critical enterprise apps yet on its own is relatively powerless. When an enterprise combines Java with other industry principles such as XML, UML, object orientation, design patterns, and a good software development process, it can create meaningful services with strong value propositions: the key to Web services and this tutorial.

We recommend that the chapters in this tutorial, or at least in each part, be read in order, as each chapter builds on the previous one.

This tutorial assumes you understand Java and have had real-world experience with the language. Its coverage of Java is limited to the APIs needed to deploy a Web service. All the examples use Java, but an understanding of another object-oriented language is sufficient. We also assume you have basic familiarity with XML and its syntax. We have intentionally avoided presentating any formal software development process for Web services. The only processes mentioned in this regard are those that are time-tested and proven to lead you to success. UML notation is expansive. This tutorial limits its examples and usage of UML to use cases, class diagrams, and sequence diagrams, as these are the most useful in the development lifecycle. Within each of these types, we limit our diagrams' complexity to the level typically covered in an introductory tutorial.

Because design patterns are used extensively in this tutorial, we hope you have some familiarity with the topic. We assume you have a basic understanding of some of the most frequently used patterns with J2EE, such as Proxy, Adapter, Composite, Chain of Responsibility, Observer, and Bridge. If you are unfamiliar with this topic, we suggest the immediate purchase of Core J2EE Patterns and Design Patterns.