I started coding in the early 1980s writing Fortran on cards. Technology has clearly improved since then and now I develop large-scale, mission-critical apps using multi-tiered J2EE and Web services. Not only have technologies improved in this time, so have methodologies. In the past I preferred a prescriptive approach to development, one that was documentation heavy and which required large teams of professionals to build complex systems. As I gained greater experience I came to realize that the overhead of prescriptive processes made them inappropriate for most modern efforts. I came to realize that a more streamlined approach, one that focuses on doing just the minimum required to get the job done, was much more effective. In other words I have learned that an agile approach is often superior to a prescriptive approach.

So what does that have to do with this tutorial? This tutorial is the equivalent of my "agile foreword"-it focuses on exactly what you need to get the job done without going into needless fluff. Each chapter covers a single concept that is critical to your success developing and/or using Web services in Java. The chapters are well written, and more importantly they are written by developers with real-world experience. Each chapter concisely covers the concepts that would be found in a specialized tutorial ten times as long. Yet each chapter isn't simply an overview; instead it is a thorough discussion that describes everything you need to know to be effective. This tutorial is really well done.

For the most part this tutorial focuses on technology. Because the true focus of agile software development is on people, my agile analogy doesn't quite work. That's okay; the important thing is that I came up with a new approach to writing a foreword that has not to my knowledge been tried before. I guess I'll just have to learn to live with the guilt. describes the foundations of Web services, covering the basics that every developer needs to understand. This section could very easily have been a tutorial on its own. does an incredible job of covering the Java technologies-JWSDP, JAXP, JAX-RPC, JAXM, JAXR, and JAXB-for Web services. and the Appendices cover topics critical to your success. In short, you want to read this tutorial cover to cover. I could go into greater detail but the reality is that it's easier for you to simply read through the Table of Contents. See what I mean? Pretty impressive. Although this tutorial is large it covers everything you need to become an effective Web services developer. I can safely say that you would need to purchase several tutorials to obtain material equivalent to what is contained here. So stop reading this foreword and buy the tutorial already! Scott W. Ambler
Senior Consultant, Ronin International, Inc. ()
Co-author of Mastering EJB 2/e and The Elements of Java Style