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
- 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 Wold, SOPERA
· Vincent Zurczak,
EBM WebSourcing
· Antoine Toulmé,
Intalio
· Marc Dutoo, OpenWide
· Paul Brebner,
NICTA