As more and more Web services become available, quality of service (QoS) becomes an important differentiating feature that will directly drive the popularity and the overall usefulness of a service. Exposing a piece of business logic as a Web service is not difficult; architecting the system so that it meets the needs of potential users (e.g., other applications invoking the service) is the difficult part.
In this chapter, we discuss what quality of service is and how it pertains to Web services. We define the specific metrics that are most often important in Web services, and describe techniques to measure a Web service's performance. We review how the architecture of Web services, including SOAP and WSDL, affects and sometimes limits Web service performance. With all of this under our belts, we describe best practices and architectures for building Web services and service-oriented architectures that support various QoS needs and guarantees.