Managing Variation in Services in a Software Product Line Context
May 2010 • Technical Note
This report highlights the mutual benefits of combining systematic reuse approaches from product line development with flexible approaches for implementing business processes in a service oriented architecture.
Software Engineering Institute
CMU/SEI Report Number
DOI (Digital Object Identifier):10.1184/R1/6575261.v1
Software product line (SPL) and service-oriented architecture (SOA) approaches both enable an organization to reuse existing assets and capabilities rather than repeatedly redeveloping them for new systems. Organizations can capitalize on such reuse in software-reliant systems to achieve business goals such as productivity gains, decreased development costs, improved time to market, increased reliability, increased agility, and competitive advantage. Both approaches accommodate variation in the software that is being reused or the way in which it is employed. Meeting business goals through a product line or a set of service-oriented systems requires managing the variation of assets, including services. This report examines combining existing SOA and software product line approaches for variation management. This examination has two objectives: 1) for service-oriented systems development, to present an approach for managing variation by identifying and designing services explicitly targeted to multiple service-oriented systems, 2) for SPL systems, to present an approach for managing variation where services are a mechanism for variation within a product line or for expanding the product line scope.