-
Obeo Designer Roadshow
Hier se déroulait à Brest le ObeoDesigner roadshow.Avant de présenter l’outil, il faut commencer par la base.
Le DSL : Domaine Specific Language
Le principe est de définir son propre langage pour modéliser son environnement. Là où en UML on a (pratiquement) que des classes, dans un DSL on peut utiliser notre langage métier et parler de « Portable », d’ »Avion » etc.. Mais qui dit nouveau langage dit nouvelle représentation graphique. Avec un DSL il faut aussi réinventer vos propres représentations graphiques. Lorsqu’on utilise UML on a l’avantage d’avoir pléthore d’éditeurs graphiques sur le marché.
Mais plus grave à mon avis : on ne partage plus la même représentation graphique. Lorsque je lis un diagramme de séquence UML je sais si un appel est synchrone ou asynchrone en fonction de sa représentation. Avec les DSL il faut non seulement redévelopper ses diagrammes, mais il faut en plus les expliquer à chaque fois.
Obeo Designer
Obeo Designer propose une solution pour le premier problème : réaliser des diagrammes personnalisés s’appuyant sur votre DSL.
Il est basé sur 5 types de représentation :
- Tree
- Edition Table
- Cross Table
- Diagram
- Sequence Diagram
Pour l’avoir pratiqué une après midi, on arrive assez rapidement à construire un diagramme. L’outil est très pratique; dès que l’on fait une modification on peut voir le résultat en live sur le diagramme.
Le gros point faible de l’outil est, à mon avis, le manque d’aide (complétion, coloration..) pour écrire les scripts Acceleo. En plus ce sont des scripts Acceleo 2 (alors que le générateur de code est en Acceleo 3).
www.obeonetwork.com
Cette journée a été aussi l’occasion d’annoncer l’ouverture du site obeonetwork. Cet espace collaboratif va nous permettre de partager nos réalisations Acceleo / Obeo Designer. Même si je pense qu’il vaut mieux réaliser un générateur différent par projet qu’essayer de faire LE générateur générique, rien n’empêche de partir d’un existant pour le spécifier à son besoin (le transformateur hibernate par exemple).
Pour conclure j’ai passé une bonne journée et c’est toujours un plaisir de rencontrer Frederic Madio et Etienne Julio (la star sur les cast codeurs
). Je reste quand même assez attaché à UML. Même si UML est beaucoup trop vaste et très compliqué il a le mérite d’apporter un langage normalisé et beaucoup d’outils s’appuient dessus.C’est donc sûrement pour me faire plaisir qu’Obeo a annoncé Mardi qu’ils allaient donner gratuitement un modeleur UML construit avec Obeo Designer. Ce module UML est publié sur le MarketPlace obeonetwork et le code source est sur GitHub. C’est donc un exemple très complet sur lequel on peut s’appuyer.
Cerise sur le gâteau, on a eu un bon de réduction de 20% que j’ai bien sur immédiatement mis en vente sur ebay
-
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 ! -
Présentation de Modelio par Softeam… ou pas
J’ai reçu hier une invitation (enfin une publicité) pour un séminaire gratuit Softeam. Jusque là rien d’exceptionnel, Softeam en propose régulièrement. Ce qui est moins habituel c’est de recevoir ce mail via Modelio.
Regardez le mail :
Au premier coup d’oeil, je pense qu’il s’agit d’une après-midi de présentation du produit Modelio. Il faut s’inscrire sur le site de softeam.. pourquoi pas.
Mais en arrivant sur ce site, l’image n’est plus la même. On ne parle même plus de Modelio.
Et si on regarde la description de l’après midi c’est encore plus drole :
Lors de la pause 15H30-16H, des démonstrations pratiques de l’utilisation d’un atelier comme Objecteering Scope Manager, Objecteering SOA Solution, Objecteering UML Modeler, seront organisées afin de montrer la facilité avec laquelle une telle démarche peut être mise en œuvre avec les outils modernes de modélisation. Une génération vers une application Java et BPEL sera démontrée.
Et là je suis un peu perdu… Moi qui espérait justement que softeam en profite pour clarifier la position de Modelio face à Objecteering. Cette présentation ne semble pas faite pour ça. Pour ajouter à la confusion j’ai regardé les petites lignes du mail pour savoir comment ils avaient eu mon mail. On peut lire :
Nous avons collecté votre adresse email parce que vous êtes client ou en contact avec le département commercial d’une des sociétés du groupe Softeam (Softeam SA, Objecteering Software SA)
Donc les clients Objecteering vont recevoir des pubs modelio ?
Ceci mis de côté, ces séminaires sont souvent intéressants et les présentations de Philippe Desfray valent le déplacement
EDIT : Le 30 Avril Objecteering a communiqué sur le lien avec Modelio http://www.objecteering.fr/company_event_2009_avr_modelio.php
Les choses sont un peu plus claires







