SELECTA Presentation

Overview

Service composition is the mechanism for building software applications by service integration. Service-based applications often require properties like dynamic or non-deterministic service selection that require a new definition of software application, which turns out to be very difficult to perform manually. There is a need to automate this process by providing tools and environments. These tools should allow to build flexible software applications and to ensure the consistency and completeness properties of the composition.

We focus on building software applications by composition, from design to execution. We propose both a service composition approach and a prototype named SELECTA that meets the needs and challenges of service composition such as:

  • increasing the abstraction level for application specification (application models),
  • incremental building of composites,
  • consistency management and completeness of composites,
  • definition of service constraints languages or service selection algorithms,
  • automating the service selection process,
  • providing a set of software environments and tools for designing, building and executing applications.

SELECTA Architecture

The SELECTA system is based on a modular and an extensible architecture as the illustrated below:

  • SAM CORE CADSE: allows to specify services (specifications and / or implementations) and relations between them that are conform to SAM metamodel.
  • Development CADSE: defines the development artifacts like modules or packages representing the main concepts of SAM CORE during the development life-cycle phase. Through the mechanism of environment composition offered by CADSE, we define the correspondence between the core concepts of SAM and those of the DEVELOPMENT environment. The concepts of Specification and Implementation are represented during the development phase, in a module form. Specifically, a module can correspond to a Java project, a JAR file or an OSGi bundle.
  • SAM-DEV CADSE: The composition of software environments listed above (SAM CORE and DEVELOPMENT) gives a new environment CADSE (named SAM Dev) which allows to define and develop services according to SAM.
  • SELECTA CADSE: SELECTA is a CADSE software that extends the SAM Core environment and defines service composites that are conform to our composition approach.
  • SELECTA-DEV CADSE: SELECTA Dev extends SAM-DEV and SELECTA environments and integrates the related concepts related of services (composite or atomic) in development and composition phases. This separation offers the possibility of reuse at the execution phase, concepts, mechanisms and algorithms achieved in the SAM Core and SELECTA environments.

    SELECTA includes other CADSE environments as SELECTA Deployment CADSE which are not described in the previous figure. SELECTA Deployment CADSE allows to package and deploy services in a target platform like Felix.