lbroudoux / eip-designer

A Sirius designer for Enterprise Integration Patterns

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

I have talked about EIP Designer at Red Hat - L'Entreprise Numérique - 2016 Paris on March 23st. Here are the slides of the prez.
I have talked about EIP Designer at SiriusCon 2015 Paris on December 3rd. Here are the slides of the prez.

eip-designer

A Sirius designer for Enterprise Integration Patterns (see http://www.enterpriseintegrationpatterns.com/ for introduction of what are EIP). It allows you to design integration routes using the common patterns and vocabulary used within Enterprise Application Integration or Enterprise Services Bus solutions.

Here's an overview of the design perspective :

overview

Moreover designing routes, the goal of EIP Designer is also to give :

  • acceleration to realization by allowing generation of route skeletons for common integration frameworks such as Spring Integration or Apache Camel,
  • control onto final realization by providing parsers and comparators able to check that development was done respecting "original design".

Finally, we aim to provide adapters and bridges to allow the usage of EIP Designer from a more generic and abstract design solution such as a TOGAF or a Archimate Designer. Those one presenting the notion of Services and Services dependencies without a mean of describing orchestration process or integration routes ... everything we thought EIP is great at !

If you're looking for a deeper introduction on solution and project genesis, we invite you reading this InfoQ's article.

Build Status

Current development version is 0.4.1-SNAPSHOT. Build Status

Releases

Versions Date Update site
0.4.0 Dec. 18 2015 http://dl.bintray.com/lbroudoux/maven/eip-designer/0.4.0/
0.3.0 Sep. 21 2015 http://dl.bintray.com/lbroudoux/maven/eip-designer/0.3.0/
0.2.0 Aug. 06 2015 http://dl.bintray.com/lbroudoux/maven/eip-designer/0.2.0/
0.1.0 Jun. 16 2015 http://dl.bintray.com/lbroudoux/maven/eip-designer/0.1.0/

Installation

Pre-requisites

EIP Designer needs at least Eclipse Luna SR1 with modeling stuffs. We recommend using directly the Modeling Tools distribution of Eclipse available from download page.

After having installed and ran Eclipse, you also need to add Sirius 2.0. See the download page on http://www.eclipse.org/sirius on how to add Sirius to your Eclipse modeling installation.

Tested configurations

EIP Designer has been developped and tested on following configurations.

Eclipse version Sirius version
Luna SR1 2.0
Mars SR2 3.1

Released versions

Find the correct update site URL in the above Releases table and just use this URL as an update site into your Eclipse installation within Install New Software.... More details on available features are mentioned below when talking about Usage, Generators and Bridges.

Development version

Want to live on the edge ? The development version of EIP Designer could either be :

  • built from sources to get distributable and installable binary packages or,
  • directly imported into Eclipse workbench for local tests.

For early testers, snapshot P2 repositories are regularly setup and provisioned here: http://dl.bintray.com/lbroudoux/maven/eip-designer/. Just use this URL to see if there's a snapshot for current version and use URL as an update site into your Eclipse installation within Install New Software....

Build from sources

In order to build from sources, you'll need Apache Maven (version >= 3.0). After having cloned the Github repository, just go to the repository root and run :

$ mvn clean install

This should build and install all binary plugins into your Maven local repository under the com.github.lbroudoux.dsl.eip group / sub directories.

Import into Eclipse

After having cloned the Github repository, just launch Eclipse and do a regular projet import (Import... > Existing Projects into Workspace) of all the projects located under /plugins and /features directories.

Now just launch a new Run As... > Eclipse Application to launch a new Workbench containing all imported plugins.

Usage

Designer

Using designer is rather simple and follow Eclipse Modeling and Sirius guidelines :

  • Create a new Modeling Project within your workspace,
  • Add to this project a new Eip Model resource (choose EIP Model as the root object for model),
  • Update the Viewpoint selection for this project (right-click on project while being into Sirius perspective)

We provide a new viewpoint simply named Enterprise Integration Patterns and applicable when your project contains a *.eip resource as shown below.

viewpoint

Your project is now ready !

Designer provides only 2 diagrams :

  • A Routes Catalog that just allows you to create and remove Route definitions within your model,
  • A Route Diagram that allows you to specify a Route behaviour using the tools and semantics shown in top screenshot.

Generators

Generators are provided within features dedicated to specific generation target. For now, there's support for Apache Camel, Spring Integration and JBoss SwitchYard.

Check our Wiki documentation on how to use generators.

Parsers and comparators

Once features mentioned into Generators section are presents, comparison of implementations files with base model is made available through a new Compare With EIP Route context item within the traditional Compare With... submenu.

Then, select a Route definition within an EIP Model present into your workspace and you should be able to inspect differences onto a quite standard Compare dialog :

compare

Bridges

One of our goal is also to provide an easy way to integrate EIP Designer with other solutions in order to offer a complementary viewpoint onto system design. For example, you may want to integrate EIP route design features with a Enterprise Architecture related designer in order to offer continuum between Service communication design and Service realization design.

Check our Wiki documentation on how to write a custom bridge !

TOGAF Designer

As an example, we provide a bridge for the TOGAF Designer from Obeo. This feature brings you a new contextual menu contribution for designing EIP route from Togaf Information System Service within diagrams as shown below :

togaf

As soon as you have choosen a target EIP Model as the container for the Service Route design, it initializes a complete EIP design for the Service realization and by bringing in every service dependencies identified within Togaf designer :

togaf-route

License

This software is licensed under the Apache 2 license, quoted below.

Copyright 2015 Laurent Broudoux

Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.

About

A Sirius designer for Enterprise Integration Patterns

License:Apache License 2.0


Languages

Language:Java 100.0%