Blog de Cédric Vidal

Par Cédric Vidal • 20 avr, 2010 • Catégorie: Eclipse RCP, Java, Model Driven

Je viens de découvrir Actifsource, un environnement commercial de modélisation et de génération de code. Les captures d’écran sur le site de l’outil ont immédiatement attiré mon attention car elles montrent l’éditeur positionné sur un template de génération de code Java avec coloration syntaxique des mots clefs du langage !

Hors, le saint graal de la génération de code, du point de vue de l’auteur de templates, c’est justement de pouvoir éditer un template de génération de code de la même manière qu’il écrirait le code avec son éditeur moderne favori (le JDT par exemple). Avec un éditeur de template traditionnel moderne comme Acceleo, on bénéficie de la complétion des éléments du méta-modèle d’entrée mais les mots clefs du langage cible sont de simples caractères ASCII, ce ne sont pas des éléments de modèle reconnus par l’éditeur.

J’ai donc suivi le tutorial de création d’un service simple. Le premier point remarquable est que l’environnement permet d’éditer le méta-modèle ET le modèle dans le même diagramme:

Cette possibilité offre une grande souplesse, cela permet d’instancier le modèle et de vérifier le méta-modèle au fur et à mesure que le méta-modèle est conçu.

Par contre, comme EMF (le framework de méta-modélisation de prédilection …




Par Cédric Vidal • 8 avr, 2010 • Catégorie: DSL, Eclipse RCP, Model Driven, news

En Janvier 2009, Arnaud Buisine et moi-même co-écrivions un article de fond sur le Model-Driven intitulé “MDSD, MDD, ou MDA : quel outil choisir ?” paru dans le dossier “La modélisation de A à Z” du magazine Programmez n°115 de Janvier 2009 dans lequel nous évoquions l’un des frameworks les plus novateurs du monde du Model Driven: Obeo Designer, permettant de créer très simplement des DSLs graphiques. Je vous invite maintenant à découvrir un autre de ces framework novateurs: Xtext. Ce framework de création de DSLs textuelles s’est vu attribué le prix de la meilleure innovation Eclipse 2010.

Donc, si vous souhaitez créer votre propre langage textuel, qu’il soit généraliste (General Purpose Language) ou spécifique (Domain Specific Language DSL) ainsi que son éditeur sous Eclipse, je vous invite à lire mon introduction à la création d’une DSL avec Xtext qui vient de paraître dans le magazine Programmez! n°129 d’Avril 2010. Ce premier article constitue l’introduction d’une série sur les DSL, MDSD et Eclipse RCP.

Le magazine est actuellement disponible en kiosque en ce moment même, mais vous pouvez aussi l’acquérir en ligne.

En vous souhaitant bonne lecture.



Par Cédric Vidal • 8 mar, 2010 • Catégorie: Java, Performances, Test

En ce moment, je réalise des tests de montée en charge du serveur de reporting JasperServer. Je souhaite pouvoir corréler le niveau de stress (nombre de tirs simultanés) appliqué au SUT, le System Under Test, avec des métriques internes du serveur, à la fois système comme la charge CPU du process Java et la quantité de HEAP utilisée mais je souhaite aussi pouvoir mesurer des métriques propres à la librairie JasperReports comme le nombre de rapports en cours de calcul ou la vitesse de remplissage des rapports.

J’utilise JMeter pour effectuer les tirs. Cet outil permet de simuler plusieurs clients simultanés et de visualiser l’évolution des temps de réponse en fonction du temps et du nombre de clients qui tirent. C’est une vision boite noire, externe au SUT.

JMeter ne permet pas de visualiser des métriques propres au SUT comme la charge CPU, le nombre de transactions en cours, le nombre de requêtes SQL en cours ou dans le cas qui m’intéresse le nombre de rapports en cours de calcul.

Il existe plusieurs outils qui permettent de monitorer en temps différé ces informations comme par exemple HypericHQ ou l’une de ses nombreuses variantes, ils sont conçus pour du …




Par Cédric Vidal • 27 nov, 2009 • Catégorie: Model Driven

La conférence a eu lieu dans le nouveau centre de conférence Microsoft à Issy Les Moulineaux, juste à la sortie de Paris. Il faut avouer, leur centre est superbe, ils se donnent vraiment les moyens. L’auditorium principal est énorme, c’est impressionnant.

Locaux de microsoft à Issy les Moulineaux

Je ne suis arrivé qu’en début d’après-midi. Hier matin, je finissais de peaufiner ma présentation, c’est pas tous les jours que l’on présente devant autant de monde dans un lieu pareil !

J’ai eu le plaisir de retrouver plein de têtes connues, Olivier Moïse de Wazaabi, qui avait présenté son projet lors de l’Eclipse DemoCamp la semaine dernière, les petits gars d’Obeo, Etienne, Stéphane, Freddy qui travaille sur ATL et Acceleo, Nicolas Romanetti de Jaxio, Jean Bezivin et beaucoup d’autres.

J’ai aussi eu l’occasion de rencontrer de nouvelles têtes, et en particulier Xavier Warzee, qui lors de sa présentation expliquait comment construire des applications data driven avec Oslo. J’ai eu l’occasion de discuter avec lui de la position de Microsoft vis à vis d’Oslo. C’est dommage, au début, Oslo semblait être un langage générique de modélisation mais Microsoft semble avoir changé …




Par Cédric Vidal • 24 nov, 2009 • Catégorie: Java, Model Driven, news

La fin de semaine dernière a été chargée, j’ai enfin pu prendre un peu de temps pour faire un compte-rendu de l’Eclipse DemoCamp que nous avons organisé Mardi dernier avec Obeo et la fondation Eclipse dans le grand amphithéâtre de l’Epitech. L’évènement as eu pas mal de succès, bon d’accord, il y avait pas mal d’étudiants mais quand même 150 personnes, ça fait plaisir !



Par Cédric Vidal • 4 nov, 2009 • Catégorie: news

L’Eclipse DemoCamp Paris 2009, le 17 Novembre 2009 à l’Epitech accueillera des contributeurs et experts des technologies Eclipse qui donneront des démonstrations de leurs projets.

Les présentateurs, leurs projets :

  • Olivier Moïses nous présentera Wazzabi 2, un framework Open Source d’interface graphique déclarative live.
  • Jonathan Musset d’Obeo nous présentera Eclipse Acceleo 3.0 et Obeo Designer, un framework de construction de modeleurs graphiques par simple paramétrage
  • Sebastian Zarnekow d’Itemis nous présentera Xtext, un framework permettant de développer des langages textuels spécialisés (Cette présentation sera en Anglais)
  • Yves Yang de Soyatec nous présentera XWT, un framework d’interface graphique déclarative en XML
  • Laurent Delvaux de Zenika nous présentera BIRT, une solution de reporting Open Source

Cet évènement s’inscrit dans le cadre de la série des Eclipse DemoCamps promus par la fondation Eclipse et donnés partout en Europe tout au long du mois de Novembre :
http://wiki.eclipse.org/Eclipse_DemoCamps_November_2009/Paris

Le public :

L’évènement est ouvert à tous et vise un public d’ingénieurs, d’architectes, d’étudiants en informatique, responsables techniques, directeurs techniques et amateurs intéressés par les technologies Eclipse.

C’est l’occasion de rencontrer en région parisienne les acteurs des technologies Eclipse.

Le lieu :

L’évènement aura lieu le 17 Novembre 2009 de 18H30 à 22H00 dans les locaux de l’Epitech, au 24 rue …




Par Cédric Vidal • 16 juil, 2009 • Catégorie: Model Driven, news, populaire

La journée avait mal commencé, j’ai réussi à rater mon train, bloqué dans un embouteillage insolite crée dans un Paris presque désert à 7H00 du matin par un défilé de la garde républicaine. Sans doute une répétition du 14 Juillet … Ils sont beaux ces chevaux, mais quand on les regarde défiler, bloqué au feu rouge en regardant défiler l’aiguille de sa montre et en imaginant partir le train, c’est beaucoup moins drôle … sans parler du fait que le prochain train part une heure et demi plus tard …

Je suis donc arrivé bien en retard au Eclipse Acceleo Day, organisé dans les locaux de l’Ecole des Mines de Nantes pendant les Rencontres Internationales du Logiciel Libre.

Malgré tout, je n’ai raté que l’introduction d’Etienne Juliot, co-fondateur d’Obeo, la société derrière Acceleo et les deux premières présentations. J’ai quand même pu assister aux retours d’expérience d’Olivier Leal de Bull et Samuel Liard d’Orange Labs sur leur mise en œuvre des approches Model Driven sur leurs projets. Retour intéressant mais classique. Rien de nouveau sous le soleil. Par contre, présentation très punchy de Samuel, j’ai beaucoup aimé son style  dynamique, pragmatique et plein d’humour. Selon lui, pour …




Par Cédric Vidal • 3 juil, 2009 • Catégorie: Model Driven

Récemment, j’expliquais ce que pouvais donner le scaffolding appliqué au MDSD. Voici maintenant un exemple de scaffolding “aveugle” prenant en entrée un modèle UML et implémenté à l’aide du langage de transformation modèle à modèle ATL. Nous utilisons la toute dernière version 3.0.0 d’ATL sortie avec Eclipse Galileo.

Voici un diagramme présentant la vue d’ensemble:

Nous reprenons le cas décrit dans les slides de l’article précédent, une architecture 3-Tiers classique avec les concepts d’Entity et de DAO modélisés avec le langage UML. Voici un diagramme du modèle UML d’entrée. Le diagramme a été créé avec UML2Tools qui fait partie de la release train Galileo:

Voici le modèle UML attendu en sortie:

Il s’agit ici de scaffolding “aveugle” pour reprendre la taxonomie proposée précédemment. Il est aveugle parce que les éléments du modèle d’entrée ne peuvent pas “voir” les éléments scaffoldés comme l’illustre le diagramme suivant:

Le scaffolding est ici généré de manière statique avec le langage de transformation modèle à modèle ATL. La transformation que nous allons définir peut se résumer ainsi:

Pour chaque Entity qui n’a pas de DAO associé, créer un nouveau DAO et l’associer à …




Par Cédric Vidal • 18 juin, 2009 • Catégorie: Model Driven

Le scaffolding est un principe bien connu des utilisateurs de Ruby on Rails. ROR a en effet démocratisé ce principe en le plaçant au cœur de son fonctionnement. Il constitue la pierre angulaire de la productivité et de la simplicité apportée par ROR et a depuis été copié par de nombreux frameworks comme Grails et plus récemment Spring ROO. Pour une définition de son application dans ce type de frameworks web, je vous invite à consulter la définition wikipedia ou ce tutorial ROR. Cette définition est selon moi trop limitée au cadre de la base de donnée mais bon ça donne une idée.

Donc, après m’être intéressé à ces frameworks, je me suis penché sur son application dans le domaine du MDSD. Cet article vise donc à expliquer ce que peut donner le scaffolding dans ce cadre.

Le problème, c’est que le scaffolding fait partie de ces concepts pourtant simples que j’ai paradoxalement du mal à expliquer donc plutôt que de m’attarder en de veines tentatives d’explications théoriques, j’ai préféré tenter une explication par l’exemple et en images sous la forme de slides.

Enfin, que serait une explication sans cas d’application ? Cet article constitue …




Par Cédric Vidal • 27 mai, 2009 • Catégorie: news

Je reviens du XP Day France 2009 qui s’est déroulé Lundi et Mardi au chalet de la porte Jaune au bois de Vincennes.

Chalet de la porte jaune

Beaucoup de sessions, difficile de choisir auxquelles assister. Sélectionner une session en se basant uniquement sur son descriptif lorsqu’il s’agit d’une session technique ne pose pas de problème mais lorsqu’il s’agit d’une session traitant d’un sujet méthodologique que l’on découvre, c’est beaucoup plus délicat ! On risque d’être déçu et de passer à coté d’une excellente session mal markétée, mais c’est inévitable.

Heureusement, je n’y suis pas allé seul. Nous étions 4 collègues de ProxiAD et nous n’étions pas trop de 4 pour couvrir les 6 tracks concurrentes. Beaucoup d’informations en très peu de temps.

Dans ce genre d’évènements, les meilleurs moments sont les moments “off” passés avec des personnes passionnées, souvent référents dans leur domaine. Et je dois dire que j’ai été servi. Nicolas Martignole que j’ai rencontré lors de la soirée JBoss au Paris JUG en fin d’année dernière a eu la gentillesse de me présenter à François Bachman. Tous deux sont certified Scrum Master et Coachs en méthodes agile. Un collègue et moi avons eu le droit …