Générateur de code - EUGene



Documents pareils
Générer du code à partir d une description de haut niveau

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Développement d un composant de «gestion de stocks» pour l ERP libre Ofbiz

Compte Rendu d intégration d application

Ingénierie des Modèles. Méta-modélisation

Cours en ligne Développement Java pour le web

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

CQP Développeur Nouvelles Technologies (DNT)

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Rapport de stage Développements sur l ERP libre Ofbiz

Mettez les évolutions technologiques au service de vos objectifs métier

Information utiles. webpage : Google+ : digiusto/

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Rapport de projet de fin d étude Développement d un MRP à capacité finie pour l ERP libre OfbizNéogia

FORD C-MAX + FORD GRAND C-MAX CMAX_Main_Cover_2013_V3.indd /08/ :12

Paul FLYE SAINTE MARIE

MALIN Nicolas DESS SIRAD. Rapport de Stage. Septembre /61

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Mercredi 15 Janvier 2014

Vérifier la qualité de vos applications logicielle de manière continue

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

DotNet. Plan. Les outils de développement

Visual Paradigm Contraintes inter-associations

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno

Mise en place d'un serveur d'application SIG au Conseil général de Seine-et-Marne

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

SonarQube : une autre vision de votre logiciel

Etat de l art sur le développement logiciel dirigé par les modèles.

Catalogue de Pattern pour le CSCW

Hudson Serveur d Intégration Continue. Adrien Lecharpentier IR3 Ingénieurs2000, Université de Marne la Vallée

MDA (Model Driven Architecture) principes et états de l art.

INGÉNIERIE DIRIGÉE PAR LES MODÈLES ET COMPOSANTS SENSIBLES AU CONTEXTE

Intégration d un ERP guidée par les modèles

Développement d un interpréteur OCL pour une machine virtuelle UML.

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire

> + Consultant / Architecte JEE Indépendant. Fabien GUIBERT 34 ans, 11 ans d expérience d expérience COMPETENCES / DOMAINES METIERS

Modelio by Modeliosoft


Auto-évaluation Aperçu de l architecture Java EE

Objecteering. La convergence SOA, UML2, BPMN, EA, pour le développement guidé par le modèle.

Catalogue des Formations Techniques

Gestion des utilisateurs dans un environnement hétérogène

Développer avec les technologies ESRI. ESRI Developer Network (EDN) Gaëtan LAVENU ESRI France Jérémie MAJEROWICZ ESRI France

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

RTDS G3. Emmanuel Gaudin

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

PloneLabs un gestionnaire de contenu pour les laboratoires

THESE. DOCTORAT EN SCIENCES APPLIQUEES Spécialité : Informatique

Meta Object Facility. Plan

Projet de développement

Offre Nouvelles Technologies (NTIC)

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

IFT2255 : Génie logiciel

Outil de Demande de Backup Système

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

ASA-Advanced Solutions Accelerator. Solution pour la gestion des données des laboratoires et des plateformes de service

Assurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services

DES SYSTÈMES D INFORMATION

Composants Logiciels. Le modèle de composant de CORBA. Plan

Ingénieur d Etudes.NET. Involys :.NET,3.5, C#, Vb.net, Asp.net, vb6,sql server2005, Oracle8i, TFS, MSProject, UML, Rational Rose

Sébastien Sougnez 24/12/ / s.sougnez@areaprog.com 2 ans et demi d expérience

Etude comparative : ERP open source. Table de matières

JOnAS Day 5.1. Outils de développements

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Marie-Christine Spengler

Point sur les solutions de développement d apps pour les périphériques mobiles

Refonte front-office / back-office - Architecture & Conception -

L approche Model-Driven Architecture, crédible pour développer un progiciel de

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Génie logiciel (Un aperçu)

CC30 Certificat de compétence Conception, développement et animation de sites Web

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Catalogue des Formations

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN :

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Catalogue de formation

Méthodologies de développement de logiciels de gestion

Bases de données cours 1

COMPÉTENCES TECHNIQUES

Bases de données avancées Introduction

Présentation du Programme Régional de Formations Qualifiantes

Celui qui vous parle. Yann Vigara

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Tutoriel d installation de Hibernate avec Eclipse

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

4. SERVICES WEB REST 46

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

W4 - Workflow La base des applications agiles

De à 4 millions. Khanh Tuong

Pierre Racine Professionnel de recherche Centre d étude de la forêt Département des sciences du bois et de la forêt, Université Laval, Québec

Formation : Langues : Types d Intervention et Secteurs d Activité :

Transcription:

Générateur de code - EUGene Florian Desbois Code Lutin www.codelutin.com 1

Plan 1.Présentation de Code Lutin 2.Différentes techniques de génération 3.Génération avec EUGene 4.Exemple de genération en Java 5.Framework ToPIA 2

Plan 1.Présentation de Code Lutin 2.Différentes techniques de génération 3.Génération avec EUGene 4.Exemple de genération en Java 5.Framework ToPIA 3

1- Code Lutin Créée en mai 2002 SSLL experte en Java/UML/XML Membre fondateur de: Libre-entreprise 2002 Alliance-Libre 2006 Soutient chaque année un projet libre qu'elle utilise Soutient financièrement les RMLL 4

1- Code Lutin nos clients Grand Compte TIEE (Toyota Europe), Leroy Merlin France et Groupe ADEO, Decathlon France et Oxylane,... Administration Ministère de la culture, Ministère de l'éducation,... Centre de recherche Ifremer, INRA, Cemagref,... PME Sextant géomètre,... 5

Plan 1.Présentation de Code Lutin 2.Différentes techniques de génération 3.Génération avec EUGene 4.Exemple de genération en Java 5.Framework ToPIA 6

2- Différentes techniques de génération Byte code vs code source Approche MDA (Model Driven Architecture) Génération par template ou par langage de transformation Génération dans le processus de build ou en amont, directement dans les sources 7

2- Niveaux d'abstraction M3 : Super Meta-modèle MOF M2 : Meta-modèle Classe, Attribut, Opération... M1 : Modèle Bateau, longueur, couler()... M0 : Données Titanic, 291m, Pour générer on manipule le méta-modèle, son contenu représente le modèle de données. 8

Plan 1.Présentation de Code Lutin 2.Différentes techniques de génération 3.Génération avec EUGene 4.Exemple de genération en Java 5.Framework ToPIA 9

3- Génération avec EUGene Approche MDA, génération à travers le processus de build : Utilisation d'xmi pour décrire le modèle métier (exemple de modeleur : ArgoUML) Utilisation du plugin EUGene (maven/ant) pour générer le code source 10

3- Génération avec EUGene Modèle Template N fichiers générés 11

3- Génération avec EUGene Avantages par rapport aux autres : Génération écrite en langage Java (connu par le développeur) Aucune liaison avec l'ide/modeleur Pas de code développeur dans les sources générées Meta-modèle objet générique simplifié : ObjectModel (indépendant des variations du XMI) 12

3- Génération avec EUGene Deux types de génération : Template de génération (Generator) Transformation de modèle (Transformer) 13

3- Génération avec EUGene Utilisation avec maven : Ajouter le modèle (fichier zargo, objectmodel ou xmi) dans le dossier src/main/xmi Déclarer le plugin EUGene dans le pom.xml en spécifiant les templates (Generator, Transformer, ) à utiliser Lancer la compilation (mvn clean install) pour générer le code dans target/generated-sources 14

Plan 1.Présentation de Code Lutin 2.Différentes techniques de génération 3.Génération avec EUGene 4.Exemple de genération en Java 5.Framework ToPIA 15

Plan 1.Présentation de Code Lutin 2.Différentes techniques de génération 3.Génération avec EUGene 4.Exemple de genération en Java 5.Framework ToPIA 16

5- Framework ToPIA ToPIA : framework d'abstraction de plateformes techniques Architecture orienté métier pour le développement d'application Génération de code pour la persistence (entités, daos, mapping hibernate, ) ToPIA transforme un modèle UML en code source : Une classe UML = une entité, un dao et un mapping XML Une lecture de modèle par type de génération (EntityTransformer, DAOTransformer,...) 17

EUGene lui permet : 5- Framework ToPIA Plusieurs fichiers sources pour une seule représentation UML (classe) Possibilité d'étendre les sources via l'héritage sur les fichiers générés Utilisation de stéréotypes et tagvalue UML pour spécifier le modèle (<<entity>>, tagvalue.lazy, ) définis dans un fichier properties associé au modèle 18

Conclusion Eprouvé sur plusieurs projets (ToPIA, Wikitty, Neogia) Génération Java simplifié Peut supporter d'autres modèles et langages 2 générations possible : Model To Model Model To File Futur support de fichier modèle texte, type Km3 19

Merci... Référence : http://www.codelutin.com http://www.libre-entreprise.com http://www.alliance-libre.org Http://maven-site.nuiton.org/eugene Http://www.nuiton.org/projects/eugene http://argouml.tigris.org/ http://www.nuiton.org/projects/topia Contact :contact@codelutin.com 20