Using components to provide a flexible adaptation loop to component-based SOA applications
Abstract
The Service Oriented Architecture (SOA) model
fosters dynamic interactions of heterogeneous and loosely-
coupled service providers and consumers. Specifications like
the Service Component Architecture (SCA) have been used to
tackle the complexity of developing such applications; however,
concerns like runtime management and adaptation are left as
platform specific matters. Though several solutions have been
proposed, they have rarely been designed in an integrated way
and with the capability to evolve the adaptation logic itself.
This work presents a component based framework that allows
the insertion of monitoring and management tasks, providing
flexible autonomic behaviour to component-based SOA appli-
cations. Each phase of the autonomic control loop is imple-
mented by a different component, in such a way that different
implementations can be developed for each phase and they can
be replaced at runtime, providing support for evolving non-
functional requirements. We present an illustrative scenario
that is dynamically augmented with components to tackle non-
functional concerns and support adaptation. We use an SCA
compliant platform that allows distribution and architectural
reconfiguration of components. Micro-benchmarks and a use
case are presented to show the feasibility of our proposed
implementation, and illustrate the practicality of the approach.
Overall, we show that a component-based approach is suitable
to provide autonomic and adaptable behaviour to component-
based SOA applications.