B. Krämer, K.-J. Lin, and P. Narasimhan (Eds.): ICSOC 2007, LNCS 4749, pp. 546–557, 2007.
© Springer-Verlag Berlin Heidelberg 2007
Run-Time Adaptation of Non-functional Properties of
Composite Web Services Using Aspect-Oriented
Programming
N.C. Narendra
1
, Karthikeyan Ponnalagu
1
, Jayatheerthan Krishnamurthy
2
,
and R. Ramkumar
2
1
IBM India Research Lab, Bangalore, India
{narendra, karthik.ponnalagu}@in.ibm.com
2
IBM India Software Lab, Bangalore, India
{jayatheerthan, ramkumar_rj}@in.ibm.com
Abstract. Existing web service composition and adaptation mechanisms are lim-
ited only to the scope of web service choreography in terms of web service selec-
tion/invocation vis-à-vis pre-specified Service Level Agreement constraints. Such a
scope hardly leaves ground for a participating service in a choreographed flow to
re-adjust itself in terms of changed non functional expectations and most often
these services are discarded and new services discovered to get inducted into the
flow. In this paper, we extend this idea by focusing on run-time adaptation of non-
functional features of a composite Web service by modifying the non-functional
features of its component Web services. We use aspect-oriented programming
(AOP) technology for specifying and relating non-functional properties of the Web
services as aspects at both levels of component and composite. This is done via a
specification language for representing non-functional properties, and a formally
specifiable relation function between the aspects of the component Web services
and those of the composite Web service. From the end users’ viewpoint, such up-
front aspect-oriented modeling of non-functional properties enables on-demand
composite Web service adaptation with minimal disruption in quality of service.
We demonstrate the applicability and merits of our approach via an implementation
of a simple yet real-life example.
1 Introduction and Motivation
Web services have emerged as a major technology for deploying automated interac-
tions between heterogeneous systems. They possess certain key properties [8, 12],
viz., independent from specific platforms and computing paradigms, developed pri-
marily for inter-organizational situations, and composable into composite Web ser-
vices. Web service composition primarily concerns requests of users that cannot be
satisfied by any atomically available Web service, but satisfied by a composite service
obtained by combining a set of available Web services [13]. The dynamic nature of
the business world highlights the continuous pressure to reduce expenses, to increase
revenues, to generate profits, and to remain competitive. This requires Web services
to be highly reactive and adaptive to business centric changes. In particular, compos-
ite Web services should be equipped with mechanisms to ensure that their constituent
component Web services are able to adapt to meet changing requirements.