Understanding quality of service for Web services Improving
the performance of your Web services
- Performance: Performance is the quality aspect of Web service, which is measured in
terms of throughput and latency. Higher throughput and lower latency values represent
good performance of a Web service. Throughput represents the number of Web service
requests served at a given time period. Latency is the round-trip time between sending a
request and receiving the response.
- Reliability: Reliability is the quality aspect of a Web service that represents the degree of
being capable of maintaining the service and service quality. The number of failures per
month or year represents a measure of reliability of a Web service. In another sense,
reliability refers to the assured and ordered delivery for messages being sent and received
by service requestors and service providers.
- Regulatory: Regulatory is the quality aspect of the Web service in conformance with the
rules, the law, compliance with standards, and the established service level agreement.
Web services use a lot of standards such as SOAP, UDDI, and WSDL. Strict adherence to
correct versions of standards (for example, SOAP version 1.2) by service providers is
necessary for proper invocation of Web services by service requestors.
Security: Security is the quality aspect of the Web service of providing confidentiality and
non-repudiation by authenticating the parties involved, encrypting messages, and
providing access control. Security has added importance because Web service invocation
occurs over the public Internet. The service provider can have different approaches and
levels of providing security depending on the service requestor.
QoS enabled Web services
The interface definition (WSDL) specifies the syntactic signature for a service but does not specify
any semantics or non-functional aspects. QoS enabled Web services require a separate QoS language
for Web services to answer the following questions:
- What’s the expected latency?
- What’s the acceptable round-trip time?
A programmer needs to be able to understand the QoS characteristics of the Web services while
developing applications that invoke Web services.
Ideally, a QoS enabled Web services platform should be capable of supporting a multitude of
different types of applications:
- With different QoS requirements
- By making use of different types of communication and computing resources
When considering QoS-aware Web services, we suppose that the interface specifications are extended
with statements on QoS that can be associated to the whole interface or to individual operations
and attributes. In the case of a service requestor, these statements describe the required QoS
associated with the service required by the client, while from a service provider’s perspective these
statements describe the offered QoS associated with the service offered by the server object.
The Web service architecture design from IBM includes a separate layer called “endpoint description”
to add additional semantics to service description like QoS properties.
June 2008 | Java Jazz Up | 40