![Page 2: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/2.jpg)
2
OverviewOverview
● Who / Why
● MDA and Acceleo
● Modeling SOA
![Page 3: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/3.jpg)
3
What we proposeWhat we propose
● Let's switch to industrial tools and methods :– Acceleo : Industrialise software development– Agility : Retro-engineering & migration
● Obeo : software vendor and consultancy
● Our goals :– Create software factories for pragmatic solutions– Reduce the gap between theory and reality
● A real OpenSource business modelProductivity
Durability
Agility
![Page 4: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/4.jpg)
4
Some referencesSome references
![Page 5: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/5.jpg)
5
How to reduce delay of my projects ?
Where are my up-do-date specifications ?
How capitalise the knowledge of my teams ?
How to be more agile with evolutions ?
![Page 6: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/6.jpg)
6
Model Driven EngineeringModel Driven Engineering● Innovate with an MDA approach
– Design to provide a high level conception– Automatise projection model - code– Integrate inside existing process– Be simple and customized !!!!
![Page 7: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/7.jpg)
7
Improvement by delay reductionImprovement by delay reduction
Analyse Conception Développement MaintenanceAnalyse Conception Développement Maintenance Industrialisation
![Page 8: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/8.jpg)
8
Improvement by a better communicationImprovement by a better communication
![Page 9: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/9.jpg)
9
Improvement by architectural rules reuseImprovement by architectural rules reuse
● Capitalisation => Reliability + Rationalisation + Evolutivity
Projet A Projet B Projet C
![Page 10: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/10.jpg)
10
Technology jungleTechnology jungle
C++ Java
XML
OSGi
SOA
Ajax
XHTML
C#VB.Net
PythonStruts
PHP
Zope
XUL
CorbaJBI
SCA
Soap
WSDL
Ecmascript
AspectJ
Perl
WebServices
HibernateCSS
SQL
UML
OCL
MDE
DSL
Profil
Méta-modèle
méta-méta-modèle
Transformation
Rétro-ingénierie
MDD
ADM
Ontologie
PSM PIM
méga-modèle
MDAMDA
![Page 11: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/11.jpg)
11
MDA by OMGMDA by OMG
CIM
PIM
PSM
Code
PDM
![Page 12: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/12.jpg)
12
MDA by ObeoMDA by Obeo
● 1 : Pragmatic
● 2 : Traceability
● 3 : Model Industrialisation
![Page 13: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/13.jpg)
13
Create a link between specification and realisationCreate a link between specification and realisation
IDE
Frameworks ApplicationsServer
IntegrationSystemUML Modeler
Requirementsdefinition
?
![Page 14: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/14.jpg)
14
Development industrialisation : AcceleoDevelopment industrialisation : Acceleo
Acceleo advantages : OpenSource, Eclipse integration, Incremental, Standard (EMF), Efficient
Business ModelsAgility of evolutionsUrbainsation viewInteroperability (UML, XMI, ...)
Durability of best pratices« White Box »Design driven by architecture
Massive generation (~70%)Delay reduction (~30%)Better quality
![Page 15: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/15.jpg)
15
Example for StrutsExample for Struts
Class diagram
Struts module
Actions,Forms
Jsp, Navigation
Struts-config,tiles, validation...
TestsJUnit
1 UML class = 12 generated files
![Page 16: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/16.jpg)
16
Demo (without SOA)
![Page 17: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/17.jpg)
17
Acceleo Pro TraceabilityAcceleo Pro Traceability
- Consistency validation code / models
- Iterative process
- Impact analysis, round-tripping...
Be professional with Acceleo !
Acceleo Pro Traceability
![Page 18: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/18.jpg)
18
Integration for quality processIntegration for quality process
![Page 19: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/19.jpg)
19
Model TransformationModel Transformation
![Page 20: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/20.jpg)
20
MDA and SOAMDA and SOA
![Page 21: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/21.jpg)
21
Centralized ArchitectureCentralized Architecture
![Page 22: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/22.jpg)
22
Client-Server ArchitectureClient-Server Architecture
![Page 23: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/23.jpg)
23
Layers ArchitectureLayers Architecture
![Page 24: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/24.jpg)
24
Distributed ArchitectureDistributed Architecture
● But the reality is different : many kind of architecture co-exist and must work together
![Page 25: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/25.jpg)
25
SOASOA
● Why do we need SOA ?
– IS aligned to company business● But what about functional / technical urbanisation ?● But what about tools and methodology ?
– Be more evolutive● But what about IS global view ?● But where is my business knowledge ?
– Be more reliable● But what about simplicity ?● But what about agility ?
![Page 26: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/26.jpg)
26
Manage several layersManage several layers
![Page 27: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/27.jpg)
27
What we have / what we wantWhat we have / what we want
User centric modelisation Business centric modelisation
Service centric modelisation
![Page 28: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/28.jpg)
28
What is needed ? What is provided ?
![Page 29: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/29.jpg)
29
● A service is a contract
● It is described with :– A name– List of exchanged datas
● A Service can be :– Interface oriented– Message oriented
● But how describe technicals parameters ?
![Page 30: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/30.jpg)
30
CustomerComponent
AccountComponent
CRMWebSite
StatsClient Commercial
Component
![Page 31: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/31.jpg)
31
Several solutions for technical projectionSeveral solutions for technical projection
![Page 32: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/32.jpg)
32
Examples with ObjectWeb projectsExamples with ObjectWeb projects
GMF
Bonita PetalsJonas
OrchestraFractal
STPDSM
EMF
Acceleo
Spago
Joram
![Page 33: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/33.jpg)
33
MethodologyMethodology
![Page 34: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/34.jpg)
34
STEP 1 : DESIGN
“How should I use models to be efficient ?”
“How to design using MY semantics ?”
![Page 35: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/35.jpg)
35
RepositoryRepository
● Create your repository
● Be Unified : UML– Profil + Stereotypes
● Be Specific : DSM– Metamodel
● EMF bring interoperability
● Eclipse STP compatibility
Functional Service Infrastructure ServiceTechnical Service
Service
Business Process
Business Component
CompanyFlow
![Page 36: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/36.jpg)
36
Example of SOA visualisationExample of SOA visualisation
![Page 37: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/37.jpg)
37
Domain Specific Modeling with GMFDomain Specific Modeling with GMF
● Goals :– Simplify
● design● tools
– Improve● not limited to UML concepts● full model based (EMF)
– Accelerate● integration with Eclipse and Acceleo● productivity
![Page 38: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/38.jpg)
38
Architectural viewArchitectural view
CustomerComponent
AccountComponent
CRMWebSite
StatsClient
CommercialComponent
LogicalView
TechnicalView
![Page 39: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/39.jpg)
39
STEP 2 : INDUSTRIALISATION
“Where is my technical knowledge ?”
“How keep it simple ?”
![Page 40: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/40.jpg)
40
Design PatternsDesign PatternsArchivageMessageService
+sauvegarderMessage( utilisateur : String, m essage : String )
EcrireMessageTache
+ecrireMessage( texte : String, des t : String )<<use>>
ArchivageServiceImpl
+sauvegarderMessage( utilisateur : String, message : String )
IArchivageMessageServiceEcrireMessageTache
+ecrireMessage( texte : String, dest : String )
<<instantiate>> ???
<<use>>
ArchivageFabrique
-@instance : archivageFabrique{frozen}
+creerArchivageMessageService() : IArchivageMessageService+getInstance() : ArchivageFabrique
+sauvegarderMessage( utilisateur : String, message : String )
IArchivageMessageServiceEcrireMessageTache
+ecrireMessage( texte : String, dest : String )
ArchivageServiceImpl
<<instantiate>>
<<use>>
ArchivageFabrique
-@instance : archivageFabrique{frozen}
+creerArchivageMessageService() : IArchivageMessageService+getInstance() : ArchivageFabrique
+sauvegarderMessage( utilisateur : String, m essage : String )
IArchivageMessageServiceEcrireMessageTache
+ecrireMessage( texte : String, dest : String )
ArchivageServiceEJBDelegateur ArchivageServiceImpl
Home
Remote
<<instantiate>>
<<use>>
![Page 41: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/41.jpg)
41
Do you really need all this complexity ?Do you really need all this complexity ?
![Page 42: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/42.jpg)
42
ArchivageMessageService
+sauvegarderMessage( utilisateur : String, m essage : String )
EcrireMessageTache
+ecrireMessage( texte : String, des t : String )<<use>>
Stay at functionnal levelStay at functionnal level
![Page 43: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/43.jpg)
43
Way to productivityWay to productivity
![Page 44: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/44.jpg)
44
STEP 3 : GENERATION
“Is MDA miraculous ?”
![Page 45: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/45.jpg)
45
![Page 46: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/46.jpg)
46
This is the last slide !This is the last slide !
● MDA can be simple
● Functional <-> Acceleo <-> Technical
● Acceleo can be used to target Petals, Jonas, Telosys,
Spago, ... : Acceleo Community Modules
● Acceleo help urbanisation and governance
● ScorWare / Eclipse STP / Acceleo
![Page 47: SOA & MDA - Eclipse€¦ · – Create software factories for pragmatic solutions – Reduce the gap between theory and reality A real OpenSource business model Productivity Durability](https://reader030.vdocument.in/reader030/viewer/2022011923/605a2fde5964b4735b4e9203/html5/thumbnails/47.jpg)
47
www.acceleo.orgwww.acceleo.org