Extended web services framework to meet non-functional requirements
- ISBN: 1595934359
- DOI: 10.1145/1149993.1150017
Abstract
Non-functional characteristics are important for any kind of service and Web services is no exception. A realistic Web service must meet both functional and non-functional requirements of its consumers. Therefore it is important that Web services framework is augmented so that non-functional characteristics of a Web service can be determined at run-time and consumers are bound to service that best meet their functional as well as non-functional requirements. This paper proposes an extension to Web services framework that enables collection of functional and non-functional service characteristics at runtime, and usage of the collected data in discovery, binding, and execution of services. Descriptions of new and enhanced components of the proposed framework are presented. Typical publishing and usage scenarios in the proposed framework are shared.
Author-supplied keywords
Extended web services framework to meet non-functional requirements
Functional Requirements
Zafar U. Singhera
Consultant, Cisco Systems
Application Oriented Networking Group
375 E. Tasman Dr.
San Jose,CA 95134, USA
zafar_singhera@hotmail.com
Abad Ali Shah
R & D Center of Computer Science
University of Engineering and Technology
Lahore, Pakistan
+92 42 682 9499
abad_shah@hotmail.com
ABSTRACT
Non-functional requirements/characteristics are important for
providing effectively every kind of services including web
services. A realistic web service must meet both functional and
non-functional requirements of its consumers. Therefore, it is
important that a web services framework is augmented so that
non-functional characteristics of a web service can be determined
at run-time and consumers are bound to a service that best meet
their functional as well as non-functional requirements. In this
paper, we propose an extension of the existing web services
framework that enables a collection of functional and non-
functional service characteristics at run-time, and usage of the
collected data in discovery, binding, and execution of web
services. Descriptions of new and enhanced components of the
proposed framework are also presented. Typical publishing and
usage scenarios in the proposed framework are also described.
Keywords
Web services, framework, non-functional requirements
1. INTRODUCTION
The idea of services business has been around from the very early
days of mankind. As life became more complex and sophisticated,
we learned to render services from others to fulfill our needs, and
to serve others in their efforts and get rewarded. Those who
provided services were rewarded in exchange of their services.
Those who have provided larger number of services to larger
consumer community got better rewards. We have learned to use
services through providers who provide quality and reliable
services at an affordable cost. Therefore, it became critical for
consumers to find service providers who provided services that
best meet their needs in the most economical, reliable, and timely
fashion. To maximize their profits, it also became critical for
service providers to publicize their services to attract more
consumers, and improve their service quality and ensure efficient
and reliable delivery to retain consumers and reduce costs.
Services paradigm went through a number of evolutions. Major
evolutions were triggered by newer technologies. Focus of these
evolutions has been to improve mechanisms to publicize, find,
request, and deliver services. Web Services are the latest
evolution in services paradigm [11]. Computers, the Internet, and
web technologies are the catalyst technologies behind this
evolution. Web Services offer an easier, effective, and efficient
way to publish, find, request, and deliver services. It is based on
the standard-based framework for publishing, discovery, binding
and usage of independently developed distributed components,
called web services.
During the past couple of years, there has been a lot of activity to
develop infrastructure to support deployment, discovery, and use
of web services. Major providers of computer and software
infrastructure technologies, including BEA Systems Inc. [1], IBM
[5], Microsoft [6], and Sun Microsystems [9], are aggressively
working to extend their existing environments to support
development, deployment, and maintenance of web services.
Their major activities are underway to define and implement
solutions to improve security [14], provide transaction support
[15], and improve coordination among the web services [12].
So far, the web services research and development efforts have
been primarily focused on definition and development of
infrastructure to publish, discover, and deliver web services which
meet specified functional requirements. The existing framework
does not provide support for non-functional requirements, like
performance, scalability, reliability, availability, flexibility,
stability, cost, completeness, etc. For example, there is no
mechanism available in the existing web services architecture to
determine run-time performance characteristics of a web service,
and select a service that best meets the performance requirements
of the consumer.
In [10], Ran proposed an extension to the web services model to
include Quality of Service (QoS) requirements in publishing and
discovery of web services. This model extends Universal
Description, Discovery, and Integration (UDDI) [7] schema to
include the QoS information while publishing a service. A new
component in Ran’s model, called QoS Certifier, verifies QoS
claims of a web service before it is published to the extended
Copyright held by author/owner(s)
ICWE'06 Workshops, July 10-14, 2006, Palo Alto, CA
ACM 1-59593-435-9/06/07
phases under the proposed model. The first phase involves
verification of the QoS claims by the provider, and providing a
certification to the provider if those claims are verified. During
the second phase, service provider publishes the service along
with its certification information in the UDDI registry.
The Ran model is a step in the right direction but it relies on static
information and is incapable of providing run-time non-functional
characteristics of a web service. It only works if variations in non-
functional characteristics of a web service are minimal and are
known at the time service is deployed. However, it is difficult to
correctly predict majority of non-functional characteristics of a
web service at time of its deployment because non-functional
characteristics depend on many factors such as connectivity
characteristics, usage profiles, work loads, computing
infrastructure of service provider, wide variation in load on
provider’s web services infrastructure, etc.
A web services framework supports availability of multiple
services that provide the exactly same functionality and interface.
Multiple services can be available from the same or different
service providers, and they provide the exact same functionality
but only differ in non-functional characteristics. Ideally, a web
services consumer should be using a web service that best serves
his functional and non-functional requirements, and it is the most
economical and reliable at the time of a request. The existing web
services model does not support dynamic rebinding of a service
that best meets a consumer’s need at a particular time, frequent
validation of the suitability of the existing consumer-service
binding, and rebinding of a different service if that service meets
consumer’s needs better than the service consumer is currently
bound to.
In this paper, we propose an extension to the existing web
services framework. This proposed extension supports run-time
collection of data/information related to non-functional
characteristics of web services. It uses this data to rate web
services on a variety of non-functional characteristics including
performance, scalability, reliability, availability, stability, cost,
completeness, etc. It further supports dynamic selection of the
best service that meets functional and non-functional requirements
of a consumer, and enables consumers to frequently evaluate their
bindings to web services and update those bindings if a better
service becomes available.
The remainder of this paper is organized as follows. Section 2
provides an overview of the evolution of the traditional services.
It highlights the need for the proposed framework and describes
why it is a natural evolution of the way traditional services and
their supporting frameworks have evolved. In Section 3, we
present the proposed extension and describe roles, and
functionality of each component of the extended framework.
Section 4 provides scenarios for publishing and usage of web
services in the proposed framework. In Section 5, we give
concluding remarks on the paper by highlighting the contributions
made in the paper and future directions of this work.
RELATED WORK
2.1 Evolution of Services
The concept of services has been presented since we started
depending on each other to leverage each other’s skills to meet
our goals. We render services from others and reward them for
their services. Two fundamental roles of service provider and
service consumer have always been presented since the very
beginning. One of the challenges faced has been to find a service
provider that meets the needs of a service consumer in the best
manner. This resulted in evolution of a third role, called broker,
which matches consumers with suitable providers and vice versa.
A broker helps a service provider in advertising their services, and
a service consumer in finding a service that best meets
consumer’s needs. Broker’s reward depends on the number of
consumers it introduces to a provider and vice versa, the number
of services it introduces or sells to consumers, and the volume of
those sales.
To increase short-term profits, the providers sometimes
misrepresent their services and/or provide low quality services to
their consumers. This results in emergence of another role, let us
call it Monitor. A Monitor monitors the quality of services
provided by providers, collects complements, feedback, and
complaints from consumers, analyzes the collected data to rate
services from various providers, and uses this rating during
service discovery for consumers. Most of the times, brokers
implicitly provide this service by monitoring quality of services
provided by providers and collecting feedback from consumers.
However, independent entities like Better Business Bureau [2],
Department of Consumer Affairs [3], and independent rating
agencies, have proven to be more effective. Figure 1 is a simple
services model showing all the major players and their
interactions in a traditional services paradigm.
As the number and complexity of services, number of service
providers, number of service consumers, and geographical areas
and communities served by a service provider increased, it
became increasingly challenging to find out a service provider
that satisfactorily meets the needs of a service consumer at an
affordable price. This objective increased the importance of a
broker and monitor even further. These new challenges surfaced
for consumers, providers, brokers, and monitors. These challenges
and motivations for each of these roles are briefly described in the
following sections.
2.2 Service Providers
The major challenges for service providers are to maximize their
profits by taking care of the following factors:
Broker
Consumer Provider
Monitor
Find
Service
Matching
Service(s)
Service Request
Service Delivery
Publish
Rating Query
Service Rating
Monitor
Claims /
Clarifications
Complaints /
Compliments
Figure 1: Traditional Services Paradigm
Sign up today - FREE
Mendeley saves you time finding and organizing research. Learn more
- All your research in one place
- Add and import papers easily
- Access it anywhere, anytime


