-
Le MDA va-t-il devenir à la mode ?
C’est en effet la question que l’on peut se poser vu le nombre grandissant de conférences sur le sujet. Par exemple pendant le JUG Summer Camp 2010, je l’ai découvert en lisant le résumé sur le blog d’ippon. Je ne l’ai par contre pas vu sur le blog du Touilleur, Nicolas ne doit toujours pas être convaincu
La prochaine ? Le lundi 4 Octobre à Rennes pour le BreizhJug. Soirée MDA & Fodnation Eclipse par Etienne Juliot. J’ai été fier de retrouver un lien vers un de mes articles sur leur page d’annonce
On remarquera que pour ces deux présentations c’est Obeo qui était invité. Leur force est surement d’avoir réconcilié les développeurs avec l’approche MDA en offrant une solution pragmatique et intégrée à Eclipse.
Je vais essayer de participer au BreizhJug le 4, mais ce n’est pas gagné…
-
MDA Day et Acceleo 3
Je viens de recevoir un email pour annoncer la date du MD Day 2010 : le Jeudi 25 Novembre. C’est à Issy les Moulineaux donc surement chez Microsoft comme en 2009. Ils ratissent large Microsoft, après avoir accueilli le SCRUM User Group pour vendre Visual Studio comme l’outil idéal pour faire du SCRUM, ils vont peut être présenter Visio comme le meilleur modeleur UML du marché. La preuve ? c’est Steve Cook qui fait la Key note d’ouverture, un architecte logiciel de Microsoft de l’équipe Visual Studio, bref super indépendant. Une bonne raison pour bien dormir et arriver à 10h !
Mais plus intéressant, j’ai aussi reçus un mail suite à la sortie d’Acceleo 3 (qui date de juin, je suis en retard…). Si vous utilisiez déjà Acceleo 2, Obeo propose des formations pour vous aider à migrer les :
- 11-12 octobre
- 8-9 novembre
- 6-7 decembre
Contact : obeo
-
Retour sur l’acceleo day
Vendredi 10 juillet avait lieu à Nantes les Rencontres Mondiales du Logiciel Libre. C’est dans ce cadre qu’Acceleo a choisi d’organiser une journée dédiée à leur outil de transformation M2T.
Etienne Juliot commence cette journée par une présentation de l’outil. Il a reussi à faire une présentation à la fois pour les débutants et pour les plus aguerris en y ajoutant quelques petites astuces bien pratiques. Le reste de la matinée était consacrée aux retours clients. Il y en aura quatre de Capgemini, Atos, Bull et OrangeLabs. C’est celui d’ Atos qui m’a vraiment marqué et pas forcément dans le bon sens du terme. J’ai été frappé par le fossé qu’ils creusent entre les développeurs et les architectes. Attention je ne stigmatise pas Atos, beaucoup de grands groupes (le mien en premier) partage cette approche et voient l’Architecte comme un dieu dans sa tour d’argent dictant sa loi aux gueux développeurs.
Pour ma part je ne l’approuve absolument pas et la distribution des rôles en scrum me donne raison. En effet en scrum les rôles architecte et développeur n’existent pas. Seul le rôle team compte. L’équipe doit bien sûr être composée d’experts en architecture et en développement mais ils doivent travailler ensemble. Pour moi un bon architecte doit mettre les mains dans le code et un bon développeur doit maîtriser l’architecture et même y contribuer.
Pour revenir à acceleo day, j’ai donc présenté très rapidement comment notre chaîne de génération a évolué avec le temps.
Je me suis bien amusé à le faire et ça a été partagé si j’en crois le premier retour que j’ai pu lire. Retour fait par Cedric Vidal qui avait le créneau le plus dur, celui d’après le repas. Il a fait une très bonne présentation sur le Scaffolding. Technique intéressante qui propose d’enrichir le modèle par une ou plusieurs transformations M2M (Model to Model) avant la génération de code. Ca permet de garder la main sur certains éléments pour les enrichir. L’exemple type est le service CRUD (Create, Read, Update, Delete) d’un entité, c’est intéressant de le générer et de garder le lien avec l’entité tout en l’ayant modélisé pour le compléter et le documenter.
Je n’ai malheureusement pas pu assister à la dernière présentation de Goulwen Le Fur car je devais reprendre la route. Vous pouvez lire ses slides sur leur site.
Journée qui a donc été très enrichissante. C’est toujours intéressant de partager avec d’autres industriels pour comparer nos façons de faire.
-
Acceleo M2T et Eclipse 3.5
Comme vous le savez Eclipse 3.5 Galileo est sorti le 24 Juin.
Une des nouveautés est l’intégration d’Acceleo M2T directement dans la version « Eclipse Modeling Tools ».
Je n’ai pas passé beaucoup de temps à l’essayer, mais on peut déjà noter plusieurs grosses améliorations. Bien sur la plus importante est le changement de langage de script. On passe d’un format spécifique Acceleo à du MTL standard défini par l’OMG pour les transformations Model to Text.Je vais plus me focaliser sur les nouveautés au niveaux outillage.
Installation facile
Avant je n’avais jamais réussit à installer Acceleo sur mon Eclipse via leur update site. Il y avait toujours des problèmes avec les versions d’emf, uml2… J’ai perdu beaucoup de temps et le seul moyen de le faire fonctionner rapidement était de récupérer leur package Eclipse+Acceleo.
Cette fois j’ai installé un Eclipse 3.5 vierge et via l’update site de Galileo je peux installer Acceleo 0.8. Au moment de l’installation il m’a installé toutes les dépendances nécessaires (emf…) En 5 minutes ça marche. Seul petit hic, il ne tire pas les dépendances vers le plugin uml2 et l’exemple ne fonctionne pas sans. Mais si vous avez téléchargé la version « Eclipse Modeling Tools » tout fonctionne sans passer par l’update.
Exécution en standAlone
Même si cette fonctionnalité existe depuis la version 2.4.0 d’Acceleo, on note maintenant la disparition complète des chaines de lancement Acceleo. Pour générer notre code on peut donc utiliser au choix :
- Du Java
- Une tache ant
- Un runner Eclipse
Il ne manque plus qu’un plug-in Maven 2, mais vu que l’équipe d’acceleo utilise plus ivy que Maven il faudra peut être le réaliser nous-même.
Debug
Je gardais le meilleur pour la fin, il est enfin possible de mettre des points d’arrêt dans nos templates. Ca marche très bien et on peut facilement naviguer dans notre model comme on le fait avec des objets en debug Java.
C’était le gros manque au niveau outillage d’Acceleo, c’est maintenant très bien fait.Une grosse évolution très intéressante d’Acceleo donc. Je suis même étonné qu’il n’y ait pas plus d’infos à ce propos sur leur site Web. Ils sont trop occupés à préparer l’Acceleo Day du 10 Juillet peut être
Journée annoncée sur la page d’acceuil d’Eclipse, la classe ! -
Acceleo JEE Module Sprint
Goulwen de l’équipe Acceleo nous propose de participer à l’enrichissement de leur module J2EE. Pour le moment ce module permet de générer une couche de persistance hibernate, des services spring et une partie IHM Web en struts. Si vous avez des idées, vous pouvez les proposer sur la mailing list acceleo-dev@ow2.org.
De mon côté, j’ai proposé la réalisation d’un module de génération d’IHM CRUD (Create Read Update Delete). Dans un premier temps elle sera faite avec struts2 mais la prochaine version sera en flex. Même si je suis conscient que ce type d’IHM générique n’est pas utilisable dans le cadre d’un produit, ça reste un bon outil pour naviguer dans son modèle de données et un bon squelette pour la réalisation de l’IHM cible.
J’ai mis sur SVN un premier exemple de la cible à générer. C’est un module maven, il suffit donc de lancer « mvn jetty:run » pour le tester.
Si vous avez des idées, des propositions ou mieux du temps pour donner un coup de main, contactez moi
-
Acceleo 2.3
La version 2.3.0 d’Acceleo est sortie vendredi dernier !
On peut noter les principales nouveautés :- Compatibilité Eclipse 3.4
- Recherche de référence des templates
- Support partiel des EOperations
- Acceleo indépendant du bridge
- Compatibilité EA 7
Vu que j’ai participé à la mise en place du bridge pour Entreprise Architect, je peux vous confirmer qu’il fonctionne bien pour les diagrammes de classes. Par contre, Acceleo a oublié d’indiquer que cela ne fonctionne qu’avec la version 7.1 Build 830. Comme EA a la mauvaise habitude de modifier son export XMI régulièrement, faites bien attention d’avoir la bonne version.
Acceleo est un très bon produit open source pour faire des transformations M2T (Modele to Texte) parfaitement intégré à Eclipse. Et à propos d’Eclipse, Obeo (la société développant Acceleo) vient de passer au statut de « Strategic member » de la fondation Eclipse.



