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.
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 :
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.
Current development version is 0.4.1-SNAPSHOT
.
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/ |
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.
EIP Designer has been developped and tested on following configurations.
Eclipse version | Sirius version |
---|---|
Luna SR1 |
2.0 |
Mars SR2 |
3.1 |
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.
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...
.
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.
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.
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.
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 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.
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 :
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 !
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 :
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 :
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.