Date post: | 12-Apr-2017 |
Category: |
Technology |
Upload: | laurent-broudoux |
View: | 1,070 times |
Download: | 0 times |
@lbroudoux#EIPDesignerSiriusCon
EIP DesignerBridging the Gap between Enterprise Architecture and Development
Laurent BroudouxDecember 3rd, 2015
@lbroudoux#EIPDesignerSiriusCon
Who am I ?
Laurent Broudoux On day time… Senior IT Architect at Covéa Keywords : EA, SOA, Modeling, Java, Agile, Software factories
On night time… Coder, geek, open source committer (http://github.com/lbroudoux)
Join / follow me @lbroudoux [email protected] http://lbroudoux.wordpress.com
@lbroudoux#EIPDesignerSiriusCon
Enterprise Integration
@lbroudoux#EIPDesignerSiriusCon
How to describe
an integration flow behaviour ?
? ????
??
?
@lbroudoux#EIPDesignerSiriusCon
UML ?
@lbroudoux#EIPDesignerSiriusCon
UML happens to hurt you…
Optional sequences or alternatives with guard conditions.
@lbroudoux#EIPDesignerSiriusCon
… again …Break conditions and parallelism.
@lbroudoux#EIPDesignerSiriusCon
… and again.
Loop definitions.
Lacks and limits in context of Enterprise Integration :- How to qualify a processing step ?
(Acts on data ? Use external resources ?),
- Readability when having numerous partners,
- Accessibility : who does understand ??
@lbroudoux#EIPDesignerSiriusCon
Other candidates ?
BPMN ?OK for modeling options, sequences and parallelismKO for qualifying processing steps
Visio or PowerPoint ?OK if you have defined your own concepts & representations setsDifficult to share (think about your contractors…)Difficult to automate
Text document ?AmbiguousImpossible to automate
@lbroudoux#EIPDesignerSiriusCon
Enterprise Integration Patterns
• Gregor Hohpe and Bobby Woolf in 2003• 65 patterns for describing recurring problems
@lbroudoux#EIPDesignerSiriusCon
Enterprise Integration Patterns
A terminology and its notation for primitives…
Router
Splitter
Enricher
@lbroudoux#EIPDesignerSiriusCon
Enterprise Integration Patterns
With some defined assemblies
Normalizer
Scatter-Gather
@lbroudoux#EIPDesignerSiriusCon
EIP Support
A « de-facto standard » claimed by major vendors
- Just a source code abstraction…- Implicit mapping most of time !
@lbroudoux#EIPDesignerSiriusCon
But…designer for EIP
designer for EIP
EIP is not a language, has no metamodel. It’s just a notation…
@lbroudoux#EIPDesignerSiriusCon
1st step : « Conceptualize Everything »
EIP MetaModel
@lbroudoux#EIPDesignerSiriusCon
Enterprise Architecture
@lbroudoux#EIPDesignerSiriusCon
Enterprise Architecture Service vision
Most of EA methodologies have Service and consumptions concepts
Service
Application Service
Application Function
consumes
usesrealizes
But don’t go further and address the question of « how ? »
@lbroudoux#EIPDesignerSiriusCon
Service / API Behaviour Specification Describe internal processing and
partners interactions
Additional activities
Service / API Realization
Enterprise Architecture activities
In order to fill the gap before actually developping
Service / API InterfaceSpecification
Describe exchanged data (IN / OUT)
@lbroudoux#EIPDesignerSiriusCon
Easy to provide tooling for some…
Service / API Realization
Enterprise Architecture activities
Service / API InterfaceSpecification
Service / API Behaviour Specification
Well-known metamodels and standards artifacts
… some others are less obvious !
?
@lbroudoux#EIPDesignerSiriusCon
Using EIP for behaviour specification
Service / API Realization
Enterprise Architecture activities
Service / API InterfaceSpecification
Service / API Behaviour Specification
Bring some fluidity between activities
Use the EIP tooling to ensure transition
@lbroudoux#EIPDesignerSiriusCon
2nd step : « Bring fluidity in process »
PDE Model transformation
Model to Text generation
@lbroudoux#EIPDesignerSiriusCon
Using EIP for behaviour specification
Service / API Realization
Enterprise Architecture activities
Service / API InterfaceSpecification
Service / API Behaviour Specification
Adding a feedback loop
Because real-life is never a top-down only
process !
@lbroudoux#EIPDesignerSiriusCon
3rd step : « Have a feedback loop »
Model ComparisonPDE
@lbroudoux#EIPDesignerSiriusCon
EIP Designer project
@lbroudoux#EIPDesignerSiriusCon
EIP Designer
A simple, vendor-independant way of formelly describe the behaviour of an integration flow (aka. an Enterpise Service),
Kickstarters for generating code templates for the most commons solutions,
Reverse and control tools for checking development compliance, detecting design caveats,
A Bridge System to extend other designers such as Enteprise Architecture oriented ones.
@lbroudoux#EIPDesignerSiriusCon
EIP Designer
Based on cool Eclipse Modeling Technologies
Open Source (http://github.com/lbroudoux/eip-designer)
Supporting open standards
Spring Integration
Obeo TOGAF Designer
SwitchYard / SCA
@lbroudoux#EIPDesignerSiriusCon
What else ?
We’re using it for technical migrations !
Current experimentation at Covéa
EIP Model
EIP Designer Parsers
EIP Designer
Generators
EA activities
@lbroudoux#EIPDesignerSiriusCon
Thank you !
Crédits photoshttps://www.flickr.com/photos/endymion120/8322183203/https://www.flickr.com/photos/sembazuru/6974372/https://www.flickr.com/photos/flyingturtle/880395543/https://www.flickr.com/photos/bodhack/3426176883/https://www.flickr.com/photos/joone/3050331298/https://www.flickr.com/photos/davegray/