SCA Tools Sub-project Proposal

The project has been created. Please visit the project page.

Introduction

SCA Tools is a proposed sub-project under the top level project Eclipse SOA Tools Platform (STP).

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare the intent and scope of the SCA Tools sub-project. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and join the project. Please send all feedback to the SCA Tools newsgroup (http://www.eclipse.org/newsportal/thread.php?group=eclipse.stp.sca-tools).

Background

The mission of the STP project is to build frameworks and extensible tools that enable the design, configuration, assembly, deployment, monitoring, and management of software designed around a Service Oriented Architecture. The project is guided by the values of transparency, extensibility, vendor neutrality, community collaboration, agile development, and standards-based innovation.

Currently, STP project contains a component named STP/SCA. Among other things, this component provides a graphical designer, named SCA Composite Designer, which allows to construct SCA assembly files. This tool is based on GMF and works with an EMF meta model constructed from the SCA specifications version 1.0 proposed by the Open SOA consortium.

The aim of this proposal is to transform the actual STP/SCA component into a sub-project of STP project and to add several other SCA tools.

Description

The purpose of the Eclipse SCA Tools sub-project is to develop a set of tools to help developers of SCA applications (like the SCA meta model, editors and a graphical designer which allows to construct SCA assembly files).

Our goals are also to link these SCA tools with existing Eclipse tools that can fit some aspects of the SCA specifications like the components STP Policy Editor and STP Service Creation. SCA tools will also interact with the STP Intermediate Model component.

Project Scope

The SCA Tools sub-project will focus on tools covering the SCA specifications proposed by the Open SOA consortium:
  • SCA ecore meta model corresponding to the XSD scheme proposed by the Open SOA consortium,
  • Ecore meta models of additional implementations, interfaces, and bindings defined by the SCA runtime implementations Tuscany, Frascati, and Fabric3,
  • Editors (XML, form, graphical) helping developpers to construct SCA assembly files,
  • Tools that introspect existing code to complete the SCA model according to SCA annotations found in the code.

Out of Scope

Somethings are not in the scope of the SCA Tools sub-project. In particular some aspects of the Open SOA specifications that are already covered by existing components of the STP project :
  • Deployment aspect (covered by the SOAS component),
  • Tool to assist developpers in the definition of SCA annotations in Java code (covered by the SC component),
  • Model transformations between SCA and other technologies (covered by the IM component).

Proposed Components

  • SCA Domain Model (existing code in STP/SCA component). This component contains the EMF meta model based on the SCA specifications version 1.0 proposed by the Open SOA consortium. This meta model will serve as the basis for many tools. This component contains also additional validation rules that appear in the SCA specifications document (SCA Assembly Model V1.00) and that are not checked by the EMF meta model implementation. These rules are listed here. These rules will be implemented using the EMF Validation Framework. This component can be use in an Eclipse environment or standalone.
  • SCA Integration. This component will contain all plugins that implement integration with other STP tools in relation with SCA: STP Policy Editor, STP Service Creation, STP SOA System.
  • SCA Composite Designer (existing code in STP/SCA component): this component is a graphical (GMF) development environment for the construction of composite applications.
  • SCA Composite Editors: this component will contain a source editor, a tree editor, an XML editor and a Form editor to construct SCA assembly files.

Relationship with Other Eclipse Projects

The SCA Tools sub project will be built on top of the Eclipse Platform and will have relationship with other Eclipse projects.

Organization

We propose that this sub-project will take place under the top level project STP.

Proposed Initial Committers

  • Stephane Drapeau – Obeo (Leader) – committer of STP/SCA Component.
  • Etienne Juliot – Obeo – committer of STP/SCA Component.
  • Vincent Zurczak – EBM Websourcing – He will be proposed as a new committer. Vincent has provided valuable patches for the STP/SCA Component and he plans to develop the XML and Form editors for SCA assembly files.

Code Contributions

The Eclipse STP/SCA component will be the initial code.

Interested Parties

At this time, the following peoples, companies and projects have expressed their interest to see the creation of the SCA Tools sub-project:

Tentative Plan

  • June 2008, release V1.0 in Ganymede
    • Core: SCA nature, wizard for the creation of new SCA assembly files, preference pages.
    • SCA Domain Model: SCA specifications 1.0 from OSOA + additional validation rules which apply on the SCA assembly description files.
    • SCA Composite Designer: support of Tuscany SCA elements.
    • Update of the web site and the wiki.
    • Tutorial that explain how to use SCA tools.
  • December 2008
    • SCA Domain Model: full support of the additional validation rules.
    • SCA Composite Designer: support of Frascati SCA elements.
    • SCA Composite Editors: XML editor + Form editor.
    • SCA Integration: Integration with the components STP Policy Editor, STP Service Creation, ans STP SOA System.
  • March 2009
    • SCA Domain Model: support of SCA specifications that should be published in december 2008 by OASIS.
    • SCA Composite Designer: update with the new meta model.
    • SCA Composite Editors: update with the new meta model.