Eclipse Party Toulouse - EEF and Acceleo
Upcoming SlideShare
Loading in...5
×
 

Eclipse Party Toulouse - EEF and Acceleo

on

  • 2,144 views

 

Statistics

Views

Total Views
2,144
Views on SlideShare
2,136
Embed Views
8

Actions

Likes
0
Downloads
68
Comments
0

2 Embeds 8

https://twitter.com 6
http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Eclipse Party Toulouse - EEF and Acceleo Eclipse Party Toulouse - EEF and Acceleo Presentation Transcript

    • Génération JavaEE avec EEF et Acceleo Frédéric Madiot - Obeo (twitter: @fmadiot)
    • De l'intention au code « Gérer des personnes ayant un nom, un prénom et une date de naissance » Person.java IPerson.java PersonDAO.java person.hbm.xml hibernate.cfg.xml struts-config.xml PersonSearch.jsp PersonList.jsp PersonDetail.jsp PersonForm.java PersonSearchAction.java ...
        Hibernate / Spring / Struts
    • Model-Driven Development
      • Automatiser la production de code à partir de modèles
      Efficacité de la modélisation ? Adaptabilité ? Traçabilité Code / Modèle ?
    • L'approche DSL
      • Gérer la complexité
        • Restreindre les concepts manipulés au strict nécessaire
        • Utiliser le vocabulaire des personnes en charge de la modélisation
      • Cadrer les développements
        • Produire du code conforme aux choix techniques
        • Eviter le codage répétitif
      • Cadrer la modélisation
        • Suivre la démarche définie sur le projet
        • Outiller l'édition et l'exploration de modèles
    • Principe Définition du domaine Choix des éditeurs Exploitation des modèles Vocabulaire métier
      • Concepts
      • Relations
      • Propriétés
      Types de représentation
      • Graphique
      • Textuelle
      • Tabulaire
      • Arborescente
      • Formulaire
      Outils MDE
      • Générateurs
      • Validateurs
      • Comparateurs
      • Transformateurs
      • etc
      • Entités métier
        • Block : conteneur d'entités
        • Entity : entité du domaine
        • Attribute : propriété d'une entité
        • Reference : lien reliant deux entités
        • Inheritance : relation d'héritage
        • Composition : relation de contenance
      Exemples de DSL "SI"
      • C inématique de navigation
        • Scenario : enchaînement d'écrans
        • Screen : écran
        • Transition : passage d'un écran à un autre
        • Action : action métier ou action IHM
      • SOA (Composants et Services)
        • Component
        • Service
        • Operation
        • DTO
    • Eclipse Modeling Project
      • Projet Top Level
      • Eclipse Modeling Framework
        • EMF Core, CDO, Compare, Query
      • Graphical Modeling Project
        • GMF, Graphiti
      • Model 2 Text
        • Jet, Acceleo, XPand2
      • Model 2 Model
        • ATL
      • Textual Modeling Framework
        • Xtext
      • Model Development Tools
        • UML2, OCL, BPMN2, MoDisco, ...
      • EMF Technology
    • DSLs entity.ecore soa.ecore cinematic.ecore De l'intention au code « Gérer des personnes ayant un nom, un prénom et une date de naissance » Editeurs de modèles Templates de génération Person.java IPerson.java PersonDAO.java person.hbm.xml hibernate.cfg.xml struts-config.xml PersonSearch.jsp PersonList.jsp PersonDetail.jsp PersonForm.java PersonSearchAction.java ...
    • Modelisation graphique
      • GMF
    • Modélisation textuelle
      • XText
    • Modélisation arborescente
      • Browser MoDisco
    • Modélisation en mode formulaire
      • EEF
        • Edition des propriétés avec des widgets évolués
        • Paramétrage du rendu graphique
        • Approche Master-Detail
        • Intégration complète et native EMF
    • Principe EEF
      • Génération de l'éditeur guidée par des modèles
    • Indigo -> EEF 1.0
      • Rich text widget
      • Convergence vers EMF.edit
        • Génération du code des éditeurs EMF avec Acceleo
        • Héritage des customisations natives EMF
      • Intégration dans le package Modeling
        • Amélioration de la robustesse
        • Sortie du statut incubation
    • De l'intention au code « Gérer des personnes ayant un nom, un prénom et une date de naissance » Editeurs de modèles Templates de génération Person.java IPerson.java PersonDAO.java person.hbm.xml hibernate.cfg.xml struts-config.xml PersonSearch.jsp PersonList.jsp PersonDetail.jsp PersonForm.java PersonSearchAction.java ... DSLs entity.ecore soa.ecore cinematic.ecore
    • Acceleo
      • Principes
        • Templates + OCL + Java
        • Initialisation automatique à partir d'un exemple de code
        • Zones de code protégé
        • Surcharge de templates
      • Environnement d'édition des générateurs
        • Complétion
        • Colorisation syntaxique
        • Profiling
        • Debugging
      • Environnement d'exécution
        • Vue Result
      • Entity -> Hibernate
        • "POJO"
        • Interface "DAO"
        • Fichiers de mapping
        • Génération de 2 type d'impl
          • Directe (Old School)
          • Spring
        • Tests unitaires
        • Script de création de schéma SQL
      Exemples de générateurs JavaEE
      • SOA -> Spring
        • Pour chaque service du modèle
          • Une interface Java
          • Un squelette d'implémentation
          • Les classes DTOs
        • Descripteurs XML réalisant le lien entre les différentes couches
      • Cinematic -> Struts
        • Formulaires, Actions
        • JSPs, CSS, JS
        • struts-config.xml
        • Tiles-def + validation
    • Offres Obeo complémentaires
      • Acceleo Traceability
        • Prévisualisation
        • Gestion du code hors balises
        • Traçabilité code -> modèle
        • Traçabilité modèle -> code
        • Traçabilité code -> template
      • Acceleo Premium
        • Support
        • Acceleo Traceability
      • Long Term Support
    • Indigo -> Acceleo 3.1
      • Evolutions du langage de templates
        • Gestion des commentaires
        • Documentation affichée dans la complétion et le hover
    • Indigo -> Acceleo 3.1
      • Edition des templates
        • Meilleure détection d'erreurs
        • Gestion des tags TODO et FIXME
    • Indigo -> Acceleo 3.1
      • Edition des templates
        • Outline amélioré
        • Options de refactoring
          • extract as query, pull up, generate documentation
        • Nouveau wizard de création de projet
      • Intégration dans une chaîne de build
        • Génération de fichiers Ant et Maven
      • Amélioration des performances
        • Optimisations du moteur
        • Sérialisation des templates en format binaire (option)
    • Merci !
      • Acceleo
        • www.eclipse.org/acceleo
      • EEF
        • www.eclipse.org/modeling/emft/?project=eef
      • ObeoNetwork
        • www.obeonetwork.com
      • Blogs
        • http://fmadiot.blogspot.com/
        • http://mariot-thoughts.blogspot.com/
        • http://eclipsemde.blogspot.com/
        • http://sbegaudeau.tumblr.com/
        • http://eef-modeling.blogspot.com/