Your SlideShare is downloading. ×
  • Like
Eclipse Party Toulouse - EEF and Acceleo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Eclipse Party Toulouse - EEF and Acceleo

  • 1,974 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,974
On SlideShare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
70
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Génération JavaEE avec EEF et Acceleo Frédéric Madiot - Obeo (twitter: @fmadiot)
  • 2. 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
  • 3. Model-Driven Development
    • Automatiser la production de code à partir de modèles
    Efficacité de la modélisation ? Adaptabilité ? Traçabilité Code / Modèle ?
  • 4. L'approche DSL
    • Gérer la complexité
      • Restreindre les concepts manipulés au strict nécessaire
      • 5. Utiliser le vocabulaire des personnes en charge de la modélisation
    • Cadrer les développements
      • Produire du code conforme aux choix techniques
      • 6. Eviter le codage répétitif
    • Cadrer la modélisation
      • Suivre la démarche définie sur le projet
      • 7. Outiller l'édition et l'exploration de modèles
  • 8. Principe Définition du domaine Choix des éditeurs Exploitation des modèles Vocabulaire métier Types de représentation Outils MDE
  • 19.
    • Entités métier
      • Block : conteneur d'entités
      • 20. Entity : entité du domaine
      • 21. Attribute : propriété d'une entité
      • 22. Reference : lien reliant deux entités
      • 23. Inheritance : relation d'héritage
      • 24. Composition : relation de contenance
    Exemples de DSL "SI"
    • C inématique de navigation
      • Scenario : enchaînement d'écrans
      • 25. Screen : écran
      • 26. Transition : passage d'un écran à un autre
      • 27. Action : action métier ou action IHM
    • SOA (Composants et Services)
  • 31. 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
  • 32. 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 ...
  • 33. Modelisation graphique
    • GMF
  • 34. Modélisation textuelle
    • XText
  • 35. Modélisation arborescente
    • Browser MoDisco
  • 36. Modélisation en mode formulaire
    • EEF
      • Edition des propriétés avec des widgets évolués
      • 37. Paramétrage du rendu graphique
      • 38. Approche Master-Detail
      • 39. Intégration complète et native EMF
  • 40. Principe EEF
    • Génération de l'éditeur guidée par des modèles
  • 41. Indigo -> EEF 1.0
    • Rich text widget
    • 42. Convergence vers EMF.edit
      • Génération du code des éditeurs EMF avec Acceleo
      • 43. Héritage des customisations natives EMF
    • Intégration dans le package Modeling
      • Amélioration de la robustesse
      • 44. Sortie du statut incubation
  • 45. 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
  • 46. Acceleo
    • Principes
      • Templates + OCL + Java
      • 47. Initialisation automatique à partir d'un exemple de code
      • 48. Zones de code protégé
      • 49. Surcharge de templates
    • Environnement d'édition des générateurs
    • Environnement d'exécution
      • Vue Result
  • 53.
    • Entity -> Hibernate
      • "POJO"
      • 54. Interface "DAO"
      • 55. Fichiers de mapping
      • 56. Génération de 2 type d'impl
        • Directe (Old School)
        • 57. Spring
      • Tests unitaires
      • 58. 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
        • 59. Un squelette d'implémentation
        • 60. Les classes DTOs
      • Descripteurs XML réalisant le lien entre les différentes couches
    • Cinematic -> Struts
      • Formulaires, Actions
      • 61. JSPs, CSS, JS
      • 62. struts-config.xml
      • 63. Tiles-def + validation
  • 64. Offres Obeo complémentaires
    • Acceleo Traceability
      • Prévisualisation
      • 65. Gestion du code hors balises
      • 66. Traçabilité code -> modèle
      • 67. Traçabilité modèle -> code
      • 68. Traçabilité code -> template
    • Acceleo Premium
      • Support
      • 69. Acceleo Traceability
    • Long Term Support
  • 70. Indigo -> Acceleo 3.1
    • Evolutions du langage de templates
      • Gestion des commentaires
      • 71. Documentation affichée dans la complétion et le hover
  • 72. Indigo -> Acceleo 3.1
    • Edition des templates
      • Meilleure détection d'erreurs
      • 73. Gestion des tags TODO et FIXME
  • 74. Indigo -> Acceleo 3.1
    • Edition des templates
      • Outline amélioré
      • 75. 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
      • 76. Sérialisation des templates en format binaire (option)
  • 77. Merci !
    • Acceleo
      • www.eclipse.org/acceleo
    • EEF
      • www.eclipse.org/modeling/emft/?project=eef
    • ObeoNetwork
      • www.obeonetwork.com
    • Blogs
      • http://fmadiot.blogspot.com/
      • 78. http://mariot-thoughts.blogspot.com/
      • 79. http://eclipsemde.blogspot.com/
      • 80. http://sbegaudeau.tumblr.com/
      • 81. http://eef-modeling.blogspot.com/