Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

Post on 13-May-2015

1.080 views 1 download

Tags:

Transcript of Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

Eclipse Modeling to create your DSL

Etienne Juliot etienne.juliot@obeo.fr

OK, you go to ESE or Eclipse Day Paris. And now?

How to industrialiseJavaEE development?

© C

opyr

ight

201

0 O

beo

My goals for today:

Use a DSL to find the intention

Generate JavaEE

Create my own designers

Integrate the result in an Enterprise Architecture

Lets try this story:

We are a travel agency,

and we want to create an

enterprise blog

© C

opyr

ight

201

0 O

beo

Lets do it by hand

Simplify

© C

opyr

ight

201

0 O

beo

Lets take a JavaEE file exemple and search the "Intention"?

© C

opyr

ight

201

0 O

beo

Hum, I find something

© C

opyr

ight

201

0 O

beo

How to describe it?

or

© C

opyr

ight

201

0 O

beo

We can create our own "generator by convention"

Conventions exemples :

An Entity is identify by a technical ID associated to a Sequence

The name of the table is by default the name of the Entity

© C

opyr

ight

201

0 O

beo

13

© C

opyr

ight

201

0 O

beo

A little bit of syntax

14

© C

opyr

ight

201

0 O

beo

A long history

From Acceleo.org in 2006...

...to Eclipse.org in 2009

Version 3.0 is part of the Eclipse Helios release train

© C

opyr

ight

201

0 O

beo

And now, my travelAgency Blog is based on 3 parts

© C

opyr

ight

201

0 O

beo

So, I need 3 DSLs

17

© C

opyr

ight

201

0 O

beo

My DSL doesn't need JavaEE skills

18

© C

opyr

ight

201

0 O

beo

Traceability: the solution

to look at the right place

19

© C

opyr

ight

201

0 O

beo

Graphical modeling

"Domain-specific modeling (DSM) is a software engineering methodology for designing and developing systems, such as computer software. It involves systematic use of a graphical domain-specific language (DSL) to represent the various facets of a system."

20

© C

opyr

ight

201

0 O

beo

21

© C

opyr

ight

201

0 O

beo

Which one is the easiest to understand?

© C

opyr

ight

201

0 O

beo

Yet another fu....ing meta-blabla?

Keep it simple

Yes: MD and Agile are friends

Where do I find data ?

How do I managed data ?

© C

opyr

ight

201

0 O

beo

Enterprise Architecture

Togaf

© C

opyr

ight

201

0 O

beo

Le système à modéliser

Les vues du système (les diagrammes)

Le point de vue

Du DSM au point de vue !Du DSM au point de vue !

Les vues du Système

● Analyse de performance● Analyse d'exigences● Fonction / Sous Fonction● Hardware / Software● DBA● Urbaniste des services

● Diagramme de blocs● Diagramme de composants● Diagramme de séquences● Tableur, Matrice

© C

opyr

ight

201

0 O

beo

With EA, applications are like peoplethat speak the same language

AccountantsApplication

Island

ManagersApplication

Suburb

CEOApplication

Suburb

IS TeamApplication

Suburb

Models

Each application uses modelsthat are easily readable andtransformable by otherapplications

How create bridges for my legacy?

28

© C

opyr

ight

201

0 O

beo

And now: 3 DSLs for WTP

© C

opyr

ight

201

0 O

beo

Import from an UML model

UML

DSL

© C

opyr

ight

201

0 O

beo

Your system is now used throw differents Viewpoints

31

© C

opyr

ight

201

0 O

beo

32

© C

opyr

ight

201

0 O

beo

Conclusion: Modeling help to create

YOUR workbench adapted to

YOUR architecture designed with

YOUR vocabulary

33

© C

opyr

ight

201

0 O

beo

Obeo Designer 4.6.1

- Sequence Diagram

- UML, IS, Togaf, Ecore

- Filters

- Layout, performance

© C

opyr

ight

201

0 O

beo Questions?