Abstract:
Service Oriented Architecture (SOA) has emerged as an architectural style for distributed
computing that promotes flexible application development and reuse. One of the major
benefits claimed for SOA is the flexible building of IT solutions that can react to
changing business requirements quickly and economically. Services could be consumed
by many applications that have different requirements. In addition, applications usually
change by adding new requirements, removing existing requirements, or updating
existing requirements. Thus, applications that consume the same service usually exhibit
varying requirements. Varying requirements usually necessitate varying software
architectures that satisfy the varying requirements of software applications. Thus, both
requirements and architectures have intrinsic variability characteristics.
SOA development practices currently lack a systematic approach for managing
variability in service requirements and architectures. This dissertation addresses this gap
by applying software product line (SPL) concepts to model SOA systems as service
families. The dissertation introduces an approach to model SOA variability with a
multiple-view service variability model and a corresponding meta-model. The approach
integrates SPL concepts of feature modeling and commonality/variability analysis with
multiple service requirements and architectural views by using UML and the Service
Oriented Architecture Modeling Language (SoaML). At the heart of this research is a
multiple-view meta-model that defines the relationships among variable service views
and maps features to variable service models along with a corresponding consistency
checking rules that ensure the consistency of the multiple service views as they change.
The dissertation describes how to derive family member applications from the SPL and
presents a validation of the approach. This dissertation makes the case that the presented
multiple-view service variability modeling and meta-modeling approach facilitates
variability modeling of service families in a systematic and platform independent way.
The key contributions of this research include: Multiple-View Service Variability Meta-
Model, Multiple-View Service Variability Model, Consistency Checking and Mapping
Rules, Model Driven Framework for Service Oriented SPL Engineering, Service Member
Applications Derivation Rules, Explicit Modeling of Service Coordination Variability,
and a Proof-of-Concept Tool Prototype.S