This chapter reviewed the Data Transfer Object pattern and how you use it in a Web Service environment. The Data Transfer Object pattern is one of the few previously published design patterns in this book, primarily because it is steadily increasing in usage. The pattern's primary purpose is improving performance and shrinking multiple data retrieval calls into a single call. By doing so, you reduce the number of connections the client must make to the server, the inherent unpredictable nature of network performance, and the number of times data must be marshaled and unmarshaled into network representation.
You also saw the secondary benefits of using the pattern in Web Services. Among the most beneficial are the simplification of the application interface and the ability to tune your back-end database implementation through JDO to avoid retrieving more complex objects from storage than you need.