This chapter extended your knowledge of how Web Services represent objects and object collections as well as some practices for efficiently using Web Services to surface your data. Using object collections is pervasive in business applications, and creating a common interface will make the collections more predictable and, therefore, usable. In designing your collections with upfront knowledge that they would become Web Services, you are able to get your collections ready for client consumption by eliminating some programming practices that are extremely specific to object-oriented computing, such as method overloading and using the Java-specific collection interfaces as parameters and return types on your methods .
With a practical example of a collection of customers, you should also understand that there are inherent limitations and inefficiencies related to exposing large collections of data via Web Services. Multiple copies of the collection exist in different forms, clients can quickly become out-of-sync with the actual data in the collection, and you lose some of your ability to fully leverage the Java platform in your application.
The next chapter identifies the final "primitive" data and service structure that you expose using Web Services, the Business Process. Business Process computing is, in many ways, the holy grail of business application programming, and Web Services give a convenient mechanism for enabling this goal.