A Service-Oriented Product Lines Implementation
Approach

Proposed Solution

Our work contemplates the definition of an approach for implementing core assets in service-oriented product lines. The approach focuses on SPL and SOA concepts and includes the support of variability mechanisms decisions implemented under a technology to control the life-cycle of the core assets. Our approach is the result of an investigation of how current approaches aforementioned in the problem statement, which resulted in an assessment (case study) on technologies combined with variability mechanisms in order to achieve its purpose. The result of the assessment resulted in a decision model for recommending technologies. The assessment and its artifacts are presented in the case studies section. Based on this experience, we propose our approach, which is built on top of these aspects. The approach uses OSGI as the main technology, since it was pointed out as a suitable technology that fits well in the service-oriented product lines implementation. Moreover, the approach recommends three variability mechanisms that can be used within OSGi and can model some variabilities identified in the approach. Moreover, the approach is defined through a set of activities, sub activities, steps, tasks, roles, inputs, and outputs, which are essential to provide the guidance for software engineers specify the artifacts to be produced.

The approach is composed by three main activities: Implement Services and Components, Refine Services and Components Specification, and Assess Services and Components integrated in a macro flow that guides all approach activities. In summary, the implement services and components provide guidelines for the software engineer to specify and implement services and components in the provider and consumer side; refine services and components specification aims to perform the refinement of the detailed design and the service and components specification and implementation; and, finally, assess services and components aims at assess through software metrics the service providers/consumers and components implemented in order to guarantee that its implementation is in accordance with some criteria (e.g., modularity and complexity).

Approach Context

Our work is part of the Reuse in Software Engineering Group (RiSE), formerly called RiSE Project, whose goal is to develop a robust framework for software reuse in order to enable the adoption of a reuse program. RiSE Labs is influenced by a series of areas, such as software measurement, architecture, quality, environments and tools, and so on, in order to achieve its goal. The influence areas are depicted in the following Figure.



Based on these areas, the RiSE Labs is divided in several different projects related to Software reuse, as shown in the following Figure.

Our work is placed on the SOPLE project, which consists in the development of a methodology for SPL on SO/SOA concepts.

Contributions

As a result of the work presented, a list of the main contributions may be enumerated:

© Copyright 2009 Heberth Braga G. Ribeiro. All rights reserved.