Towards a Variability Model for SOA-Based Solutions

Nanjangud C. Narendra, Karthikeyan Ponnalagu · 2010

The prevalent approach to developing business solutions is driven by requirements expressed as process models. This is essentially a top-down model-driven development approach for building solutions from a given process model specification, from scratch. However, in order to enhance the reusability of such solutions, the emphasis has now shifted to defining business solutions via service-oriented architectures (SOAs) that compose software services to support business processes. This enables creating and reusing services and processes as software “assets” which is more scalable and profitable. In this context, the key to reusing assets is to support the right mechanisms to incrementally refine existing software services as well as business processes. Our earlier works, viz., Variation Oriented Engineering (VOE) and Variation Oriented Service Design (VOSD), proposed some mechanisms in this direction. But our experiences in developing and inducting VOE and VOSD into IBM's business units motivated the need for a rigorous formal foundation for variability in SOA-based solutions. To that end, this paper proposes a Variability Model for SOA-based solutions, through which variations in a service can be modeled and maintained. Our Variability Model also clarifies the extent to which an existing service can be modified to suit a business process requirement, while ensuring that the overall integrity of the service is maintained. We also present an algorithm for determining whether a variant of a service is a legal variant, and we demonstrate our Variability Model on a realistic running example in the insurance domain, via a prototype built on IBM's Rational Software Architect modeling tool.

Read the paper · More papers on PaperTik