Skip to content

nereuschen/eip-designer

 
 

Repository files navigation

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 !

Build Status

Current development version is 0.1.1-SNAPSHOT. Build Status

Releases

Versions Date Update site
0.1.0 16 Jun. 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.

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 mentionned 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, we have :

  • Spring Integration support provided by the EIP Designer extension for Spring Integration (com.github.lbroudoux.dsl.eip.spring.feature feature)
  • Apache Camel support provided by the EIP Designer extension for Apache Camel (com.github.lbroudoux.dsl.eip.camel.feature feature)

For now, there's no graphical integration plugin defined and you should defined an Acceleo Application and use our generators through the traditional Run As... integration.

The main classes for generators are :

  • com.github.lbroudoux.dsl.eip.gen.spring.main.GenerateRoutes for Spring Integration,
  • com.github.lbroudoux.dsl.eip.gen.camel.main.GenerateXmlRoutes for Apache Camel. We only support routes specification in Xml at time of writing.

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%