Eclipse SOA Tools Platform Project Charter

Overview

The Eclipse SOA Tools Platform Top-Level Project is an open source collaborative software development project dedicated to providing a generic, extensible, standards-based tool platform for producing Service Oriented Architecture (SOA) applications based around the Service Component Architecture (SCA) specification.

This document describes the mission, scope, and other terms for the project.

Mission

The mission of the SOA Tools Platform (STP) project is to build frameworks and exemplary extensible tools that enable the design, configuration, assembly, deployment, monitoring, and management of software designed around a Service Oriented Architecture (SOA). The project is guided by the values of transparency, extensibility, vendor neutrality, community collaboration, agile development, and standards-based innovation. STP leverages the Service Component Architecture specification (SCA) as its model.

STP is a natural complement to other Eclipse projects, such as the Web Tools Platform and Data Tools Platform, and reuses, as appropriate, components from these projects.

Scope

The STP project delivers both an extensible SOA frameworks designed to encourage third-party plugins, and an exemplary set of plugins to demonstrate and validate the platform. These frameworks and extensions address the needs of architects and developers of SOA applications by complementing existing Eclipse WSDL, XML, Java and data access tools with tools to design, configure, and assemble a system of services and to deploy, monitor, and manage this system of services on any number of open source and commercial SCA runtimes. Extensions will exist for plug-in providers to create the deployment structures necessary to execute on their runtimes. Support will also be provided for discovering and invoking services running on non-SCA runtimes.

There are two key architectural principles of the STP project:

  1. independence of the contract, implementation/services, and physical attributes (i.e. transport, message format);
  2. compliance with applicable industry standards, e.g.WSDL & SCA and its associated implementation and binding types.

STP focuses on the creation of frameworks for tools for building SOA application and deployments, building on, but not implementing standards, including the WS-* pack (e.g. SOAP, WSDL). However, STP also includes framework tools for meta models of the new set of standards that focus on SOA and Policy, starting with SCA.

STP supports an architecture, which through extensions allows anybody to provide tools for the editing, construction or configuration of services for deployment in the SOA System (SOAS). Any subproject of STP extending the SOAS is

  1. required to integrate with the meta-model and framework of the SOAS layer
  2. encouraged to be integrated into the service creation subproject.

For SOA service creation, the STP project includes the runtime-agnostic frameworks and extensions to import, design, edit, configure, and extend service attributes and artifacts, such as policies (e.g. security, access control, transactional, availability), transports (e.g. SOAP over HTTP, JMS), and bindings (e.g. language and message format bindings). Programming language and editors are out of scope of service creation for example Java and C++.

For SOA service deployment, the STP project includes the runtime agnostic frameworks and extensions to assemble, coordinate, and deploy participants in a Service Oriented Architecture System, including resources, business services, and presentation components. This requires generating policy models, updating policies, validating contractual and policy compatibility, all within a framework designed for extensibility.

The STP project may include extensions to the SOA System framework platform for specific runtime platform support. These allow out-of-the-box productivity with numerous runtime platforms through SCA, including both open source and commercial service containers, e.g. ESB's, JEE, or specialized containers provided by plug-in providers.

Interaction with other eclipse projects

Since WSDL-based contracts are an important piece of the STP architecture, STP reuses relevant technologies from the Web Tools Platform project including but not limited to WSDL and XSD and leverages technology from other Eclipse projects whenever possible such as (EMF)SDO.

Interaction with specifications

It is also an explicit aim of the STP to have a two-way cooperative relationship with the still evolving SCA specifications. While one aim is to implement the SCA specifications, where STP finds inadequate or missing functionality in specific areas, STP will provide feedback to the SCA specification team with the aim of getting the SCA specifications improved and extended in a way that suits the needs of the STP environment.

Other Terms

This Charter inherits all terms not otherwise defined herein from the "Eclipse Standard Charter version 1.0". This includes sections on the Project Management Committee, Roles, Project Organization, The Development Process, and Licensing. In addition to those standard terms, the STP PMC establishes three groups to facilitate coordinated development across all STP projects: a Requirements Committee, an Architecture Committee, and a Planning Committee. Some of the work produced from these committees fulfills the Development Process requirements described in the "Eclipse Standard Charter".

The Requirements Committee collects requirements and proposes a prioritization consistent with the scope of the STP project charter to the PMC. Requirements are collected from STP users / developers / committers, representatives of other Eclipse TLPs, and the Eclipse Themes, Priorities, and Roadmap.

  • Requirements Committee members are appointed by the PMC. Any STP committer is eligible for PMC consideration; however, the PMC gives priority to under-represented interests (e.g. committers from multiple organizations or multiple individuals before having multiple committers from the same organization).
  • The Requirements Committee membership must include at least one committer from each STP project.
  • In addition, the PMC may choose to appoint committers from other Eclipse Top Level Projects to serve on the Requirements Committee.
  • The committee's chairperson is appointed by the PMC, based on a recommendation from an annual committee vote.

The Architecture Committee produces documents to guide the architectural design of the entire SOA Tools Platform, including the interfaces across each of the SOA projects. The SOA architecture is driven by the PMC-approved prioritized requirements (based on those proposed by the Requirements Committee) and also takes into account each STP project's development plan and the Eclipse Architecture Plan. In addition to this forward-looking role, the Architecture Committee also resolves any design disputes that impact multiple STP projects.

  • Committee members are appointed by the PMC. However, unlike the priority the PMC places on broad representation for the Requirements Committee, the PMC's priority for membership on the Architecture Committee is to reflect the proportional amount of investment each individual or organization is making in STP projects (e.g. individuals or organizations with more significant contributions should get higher priority than those with less significant contributions).
  • In addition, each STP project lead has a seat on the Architecture Committee. However, should the lead prefer to delegate this seat to another committer on their project, the specific delegation must be confirmed by the PMC.
  • The committee's chairperson is appointed by the PMC, based on a recommendation from an annual committee vote.

The Planning Committee produces a consolidated release plan for the next major STP release, including any major milestones. The STP release plan simply combines the individual STP project release plans (which are required by the Eclipse Standard Charter) into one platform schedule, but also takes into account the Eclipse Platform Release Plan.

  • Planning Committee membership is composed the release plan maintainers from all STP projects.
  • The committee's chairperson is appointed by the PMC, based on a recommendation from an annual committee vote.


Definitions

STP - SOA Tools Platform Project
SOA - Service Oriented Architecture
SOAS - Service Oriented Architecture System, referring to more than one service, and the relationships between them, as defined by the SCA specification
ESB - Enterprise Service Bus
SCA - Service Component Architecture
JBI - Java Business Integration, from JSR 208
WS* pack - Web services standards that apply to SOA
Container - Any runtime that can have services deployed to it, JEE, Tomcat, JBI, etc