31-07-2013, 02:20 PM
Web Services Metrics: A Survey and A Classification
Web Services Metrics.pdf (Size: 518.79 KB / Downloads: 48)
Abstract
Web Services have emerged as a new Web-based technology paradigm for exchanging
information on the Internet using platform-neutral standards, such as XML and adopting Internet-based
protocols. They have become a promising technology to design and build complex inter-enterprise business
applications. However, Web Services are problematic to measure, control, and manage. Software metrics is
vital for the management, control, and measurement of software development and despite the vast amount of
techniques/mechanisms and metrics for traditional and Object-Oriented software, there has been a few research
and techniques that deals with metrics for Web Services. As companies increasingly invest and relies on Web
Services, the importance of metrics for those services continues to grow. In this paper I present and classify the
existing metrics for Web Services, and discuss their usage and benefits. In addition, I highlight the problems
found in using some of the metrics and discuss what is still lacking in this domain.
Introduction
Web Services are rapidly emerging as a popular standard for sharing data and applications over the web.
Many enterprises are moving towards using and investing in Web Services in place of their traditional
client-server computing and in-house servers. So Web Services are looked at as business solutions to enterprise
applications integration. This observation has led to the vital requirement of having techniques and
mechanisms for metrics, measurements, and models that quantify various attributes of Web Services. Metrics
for traditional software applications and systems are in existence for long times before the existence and design
of the Web.
One of the first and high-demanded, by service provider and their partners, class of metric for Web
Services is the quality of service (QoS) offered by Web Services. However, because of the dynamic and
unpredictable nature of the Web Services infrastructure, providing the acceptable QoS is really a challenging
task. In addition to this, the different applications that are collaborating for Web Services interaction with
different requirements will compete for network resources. The above factors will force service providers to
understand and achieve Web Services QoS. Also, a better QoS for a Web Service will bring competitive
advantage over others by being a unique selling point for service provider [2].
Software Measurement/Metrics
Software metrics is important to the management of software development, and is a mature field that has
been studied for decades [3], and software measurement has become a fundamental aspect of Software
Engineering. Measurement is the process by which numbers or symbols are assigned to attributes of entities in
the real word in such a way as to describe them according to clearly defined rules [4]. In software measurement,
the main purpose is to provide insight into software processes and products, so that any organization will better
able to make decisions and manage the achievement of goals.
The terms "measure", "measurement", and "metrics" are often used interchangeably, but according to
software engineering theories a measure provides a quantitative indication of the extent, amount, dimensions,
capacity, or size of some attribute of a product or process. Measurement is the act of determining a measure.
The IEEE Standard Glossary of Software Engineering Terms defines metrics as "a quantitative measure of the
degree to which a system, component, or process possesses a given attribute".
Web Services
Web Services are based on a collection of standards and protocols that allow us to make processing
requests to remote systems by speaking a common, non-proprietary language and using common transport
protocols such as HTTP and SMTP.
Web services represent a new programming approach based on a document-oriented model designed for
interoperability at a document, typically XML, level. They are modular, self-describing, self-contained
applications that are based on open standards and can be published, located, and invoked across the
Internet/Web. Web services enable us to build Web-based applications using any platform, object model, and
programming language that we may require. In addition, they are implemented using a collection of several
related, established and emerging technologies and communication protocols that include HTTP, XML,
Simple Object Application Protocol (SOAP), Universal Description Discovery and Integration (UDDI), Web
Services Description Language (WSDL), Common Object Request Broker Architecture (CORBA), Java
Remote Method Invocation (RMI) , and .NET [1].
Web Services Metrics
Although Web Services technology has been adopted by major software vendors such as IBM, Microsoft,
Oracle, Borland, etc., and resulted in vast amount of research activities, there is little work on metrics for Web
Services. Most of the work is focused on Quality-Of-Service. Other work is focused on projecting existing
metrics for object-oriented software components [8] on Web Services systems, since web services are mostly
generated from object-oriented programs. Web Service metrics are very useful for developers, providers, and
users. Developers will use metrics to manage and control the best way to implement the system. Service
providers can use metrics to make sure the service is running according to certain set measures, and users can
use certain metrics to choose the best service providers. So metrics may differ based on who is using them, and
they may have different requirement and level of importance.
Conclusion
Web services can be looked at as a group of closely related, emerging technologies and standards that
describe a service-oriented, component-based application architecture that is based on an open,
Internet-centric infrastructure and protocols. They are rapidly emerging as a popular standard for sharing data
and applications over the web. Many enterprises are moving towards using and investing in Web Services in
place of their traditional client-server computing and in-house servers. So they become the business solutions
to enterprise applications integration. This has led to the urgent need of having metrics that quantify various
attributes of Web Services. Metrics for traditional software applications and systems are in existence for long
times before the existence and design of the Web; however, metrics system for Web Services is a new
challenging domain that need more attention. In this paper, I have surveyed most of the existing Web Services
metrics, found in the literature. My finding is that the set of Web Services metrics can be classified into two
main classes: Structural metrics and Quality metrics. Most of the found metrics fall under the second class
which include performance, reliability, scalability, capacity, robustness, exception handling, accuracy,
integrity, accessibility, availability, interoperability, and security. This is because a better Quality-of-Service
for a Web Service will bring competitive advantage over others by being a unique selling point for service
provider [2]. So the quality metrics, and in other papers as Service Level Agreement metrics [15], are highly
demanded by service provider and their partners.