First published by IBM developerWorks at http://www.ibm.com/developerWorks. Visit ibm.com/ developerWorks for more tutorials on open standard technologies , IBM products, and more.
Level: Introductory
Anbazhagan Mani (manbazha@in.ibm.com), Software engineer, IBM Software Labs, India
Arun Nagarajan (anagaraj@in.ibm.com), Software engineer, IBM Global Services India
01 Jan 2002
With the widespread proliferation of Web services, quality of service (QoS) will become a significant
factor in distinguishing the success of service providers. QoS determines the service usability and
utility, both of which influence the popularity of the service. In this article, we look at the various
Web service QoS requirements, bottlenecks affecting performance of Web services, approaches of
providing service quality, transactional services, and a simple method of measuring response time
of your Web services using the service proxy.
The dynamic e-business vision calls for a seamless integration of business processes, applications,
and Web services over the Internet. Delivering QoS on the Internet is a critical and significant
challenge because of its dynamic and unpredictable nature. Applications with very different
characteristics and requirements compete for scarce network resources. Changes in traffic patterns,
denial-of-service attacks and the effects of infrastructure failures, low performance of Web protocols,
and security issues over the Web create a need for Internet QoS standards. Often, unresolved QoS
issues cause critical transactional applications to suffer from unacceptable levels of performance
degradation.
With standards like SOAP, UDDI, and WSDL being adopted by all major Web service players, a
whole range of Web services — covering the financial services, high-tech, and media and entertainment — are being currently developed. As most of the Web services are going to need to establish and
adhere to standards, QoS will become an important selling and differentiating point of these services.
QoS covers a whole range of techniques that match the needs of service requestors with those of
the service provider’s based on the network resources available. By QoS, we refer to non-functional
properties of Web services such as performance, reliability, availability, and security.
Web service QoS requirements
The major requirements for supporting QoS in Web services are as follows:
- Availability: Availability is the quality aspect of whether the Web service is present or
ready for immediate use. Availability represents the probability that a service is available.
Larger values represent that the service is always ready to use while smaller values
indicate unpredictability of whether the service will be available at a particular time. Also
associated with availability is time-to-repair (TTR). TTR represents the time it takes to
repair a service that has failed. Ideally smaller values of TTR are desirable.
- Accessibility: Accessibility is the quality aspect of a service that represents the degree it
is capable of serving a Web service request. It may be expressed as a probability measure
denoting the success rate or chance of a successful service instantiation at a point in
time. There could be situations when a Web service is available but not accessible. High
accessibility of Web services can be achieved by building highly scalable systems. Scalability
refers to the ability to consistently serve the requests despite variations in the volume of
requests.
- Integrity: Integrity is the quality aspect of how the Web service maintains the correctness
of the interaction in respect to the source. Proper execution of Web service transactions
will provide the correctness of interaction. A transaction refers to a sequence of activities to be treated as a single unit of work. All the activities have to be completed to make the
transaction successful. When a transaction does not complete, all the changes made are
rolled back.
|