Introduction
Mangrove -
SOA Modeling Framework 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 Mangrove - SOA Modeling Framework 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 Eclipse STP forum until a
proper newsgroup is established.
Note that in this proposal, the long name “Mangrove - SOA Modeling
Framework” is sometimes used in a shorter form (“Mangrove” or “SOA Modeling
Framework”).
Background
The Eclipse SOA Tools Platform project contains tools for designing,
building, configuring and deploying SOA applications. The current STP Intermediate Model component
bridges different existing Eclipse STP editors (such as BPMN and SCA) through a
common SOA metamodel. Users can transport SOA artifacts between editors by
invoking transformations to and from the Intermediate Model instance. This
ensures that elements such as services and processes are shared across the
different perspectives of various SOA stakeholders, thus minimizing duplication
and the risk for errors when building complex SOA systems.
The aim of this proposal is to extend the scope of the existing STP-IM
component to better editor coverage while at the same time ensuring a seamless
experience by reducing the need for manual transformations. In addition the
proposal aims at providing functionality for connecting SOA editors to runtime
projects and components in order to bridge the gap between SOA design and
runtime.
Description
The purpose of the SOA Modeling Framework proposal is to create a project
that can serve as a central Eclipse SOA modeling container useful for a wide
variety of existing and upcoming SOA editors, runtime and platforms. By
employing a simple and easily extendable SOA metamodel as its core, Mangrove
will provide a consistent, always-in-sync representation of common SOA
artifacts in an Eclipse workspace.
Additionally, by providing connectivity to runtime projects and SOA
repositories, the Mangrove instance will be kept in sync with evolutions of
these artifacts at runtime, updating properties such as QoS parameters in its
model.
The following are a simplified list of the envisaged functionalities:
- Transformations
between different Eclipse Editors
- Keeping
a synchronized version of SOA artifacts within a SOA-oriented workspace
using a builder-type approach
- Updating
model information in SOA editors with runtime data (from monitoring)
- Feeding
model information to deployment tools (potentially using SCA as format)
and runtime tools (useful for interpreting monitoring data).
- Obtaining
information from SOA repositories (such as lists of services or governance
information)
Project Scope
The Mangrove - SOA Modeling Framework project will focus on integrating
existing and upcoming Eclipse projects related to SOA editors, runtime and
deployment tools. In addition, Mangrove will add support for integration with
monitoring projects (in particular the upcoming eBAM proposed project) and
repositories (in particular the upcoming repository project proposal). It
primarily targets the scope of the existing Eclipse STP project and the
upcoming Eclipse SOA TLP.
Out of Scope
The proposal does not aim at providing a runtime project (Swordfish is the
main runtime envisaged by the SOA TLP), or a runtime monitoring tool (the new
eBAM proposal seems an excellent candidate for this), however it will transport
information to and from such projects. Mangrove does not envisage the creation
of live views of SOA systems but rather the enablement of efficient utilization
of a large variety of tools and editors for building SOA systems.
Proposed Components
The following initial components will comprise the SOA Modeling Framework.
- Core -
the Core Metamodel and API (initial existing code in STP-IM): contains the
SOA elements and their inter-relations, enabling the storing of distilled
SOA elements used by different editors and tools.
- Branches
- the Transformation Plug-ins (initial existing code in STP-IM): contain
the logic required to move and convert information between editors, tools
and the core metamodel instance.
- Phloem
- the Builder (tentative initial contribution in STP-IM bugzilla) ensures
the constant updating of SOA artifacts in the core as well as in the
corresponding editors and tools (e.g. when saving a diagram, update the
appropriate artifacts in the core while also enabling the update of the
corresponding artifact in related editors or tools).
- Leaves
- the Editor Extensions (initial existing code in STP-IM), extensions and
improvements to editors and tools for adding Mangrove-specific
functionality at design time (e.g. views allowing the enrichment of
certain SOA elements in the core or configuration menus for customizing
the amount of information to be moved to/from the core).
- Roots
- the Runtime Connections: for moving information to and from runtime
tools and repositories when needed in order to have a “living” core,
providing a good reality snapshot. This can be useful when diagrams are
out of sync or when aggregated monitoring information is required to
update graphical elements. Also for generating deployment information in a
common format.
Relationship with other Eclipse projects
The SOA Modeling Framework sub-project will be build on top
of the Eclipse Platform and will have relationships with other Eclipse
projects.
- Eclipse
SOA Tools Project
- BPMN
Modeler Project and the related MDT/BPMN2 Proposal
- SCA
Tools Project
- Eclipse
BPEL Project
- Java
Workflow Tooling Project
- Swordfish
- The
upcoming EBAM monitoring proposal
- The upcoming
Repository proposal
- The
upcoming BPM project proposal
- Other
runtime projects
- SOA
Industrial Working Group to provide useful feedback and requirements
throughout the project’s evolution.
Organization
We propose that this sub-project will take place under the
new top level project SOA TLP.
Proposed initial committers
- Adrian
Mos, INRIA (lead)
- STP-IM component committer
- Andrea
Zoppello, Engineering - STP-IM component committer
- Gianfranco
Boccalon, Engineering
- Luca
Rossato, Engineering
- Luca
Barozzi, Engineering
- Fy
Ravoajanahary, INRIA
- Juan
Cadavid, INRIA
Initial Code Contributions
The initial code contribution will be the currently existing
STP Intermediate Model component.
Interested Parties
· Stéphane Drapeau, Obeo
· Oisín Hurley, Progress Software
· Oliver Wolf, SOPERA
· Vincent Zurczak, EBM WebSourcing
· Antoine Toulmé, Intalio
· Marc Dutoo, OpenWide
· Paul Brebner, NICTA