Mia-Software
Transcription
Mia-Software
Mia-Software Gagnez en agilité sur le développement et la maintenance de vos applications Patrice Rabault Consultant MDA www.mia-software.com 1 Plan Société Produits pour le développement logiciel Produits pour la modernisation Plateforme open-source MoDisco 2 Société Notre mission : Concevoir, développer et supporter des produits de génie logiciel Model-Driven Mia-Software : Editeur de solutions Model-Driven depuis 2004 100 clients dans 10 pays 150 années homme en R&D Contributeur Eclipse 3 Société USA General Motors American Farm Bureau SafeCo B&W Insurance RLI Insurance Etats-Unis & Canada Prima-Solutions (Assurance) France Banque Crédit du Nord Banque Populaire Crédit Agricole Société Générale ESP Partecis Assurance AXA CNP Generali MAAF MMA MAIF B2V GMF UK Kiln Thales UK Benelux Parlement Européen Cetrel Fortis Benelux Soft-Maint Benelux Russie Sukhoi Aircraft Russie & Pays Baltes Interface Suisse Canton de Genève Turquie Havelsan Italie Gan Italy Mutuelle / Retraite Mutualité Française AGPM Grèce Eurolife Industrie / Défense Thales Airbus EADS DGA Administration Ministère Transports Ifremer SDIS 22 MS Agora 4 Chine Soyatec Transport / Logistique SNCF BritAir Groupe Girard Logilec (Leclerc) Terminaux de Normandie Amadeus Europcar India Thales India Patni HCL Technologies Services Sodifrance Cap-Gemini Atos-Origin Accenture Unilog C&S Prima-Solutions SII Valtech Coframi Alten Artic Mipih Société Partenaires industriels Partenaires recherche INRIA / Atlanmod MoDisco : Reverse Engineering AMW : Model Weaving AM3 : Mega Model Management Projets de recherche 5 Société Métier Positionnement Valoriser vos applications existantes Intégrer vos besoins métiers Supporter les évolutions technologiques Préparer les futures évolutions ? Legacy GWT C++ COBOL Ajax Technologies 6 Plan Société Produits pour le développement logiciel Produits pour la modernisation Plateforme open-source MoDisco 7 Mia-Studio Génération Génération de de code code Génération Génération documentaire documentaire Transformation Transformation modèles modèles àà modèles modèles Créez les règles de transformation adaptées à votre contexte 8 Mia-Generation Templates editor (Architect edition) Architecture de Mia-Generation Generation rules (ex : UML -> Java) Connector XML file Plugin Connector Modeler Meta-model TXT file Connector Generation engine 9 MOF (OMG) 9 ECore (Eclipse/EMF) (Developer edition) 9 DTD Repository Generated files 9 (XML, Java, C#, C, C++, …) Plugin IDE (Eclipse, VisualStudio, …) Mia-Studio Edition Architect Environnement de création et de mise au point des templates de génération Support d’un grand nombre de métamodèles 9 UML (1.x, 2.x) + Profiles 9 DSL (EMF, MOF, DTD, XSD) Aide au développement et à la mise au point 9 Complétion automatique et colorisation syntaxique 9 Points d’arrêt 9 Traces navigables 9 Références croisées entre scripts Facilités de déploiement 9 Principe de packages réutilisables 9 Plugin Maven 10 Mia-Studio Edition Developer Environnement de lancement des templates de génération Création de launchers 9 Paramétrage d’un générateur 9 Import des modèles des outils du marché 9 Lançables par API ou ligne de commande Résultats des génération 9 Liste des fichiers générés / non regénérés 9 Visualisation des fragments générés / manuels 9 Calcul de métriques de génération 9 Différences de génération au niveau du fragment Remontée d’alertes 9 Code manuel hors balises 9 Balises non regénérées 11 Fonctionnalités • Editeur de règles – – – – – • – • Pas de syntaxe propriétaire Création automatique de l’arborescence Préservation du code manuel par tags paramétrables Possibilité de tags sur une seule/plusieurs ligne(s) – – • Java Standard APIs pour le métamodèle APIs dédiées à la génération Sélection des objets racines Appel automatique des templates Appels possibles de sous-scénarios Transformation possible du modèle – – – – Browser de modèle Browser de métamodèle 12 Notification automatique lors d’une modification concurrente Check-in des fichiers générés par production d’un script Traçabilité – – – – – – Modèle Notification statique des scripts en erreur Notification dynamique des erreurs de génération (erreurs clickables) Trace de génération navigable Travail en équipe – • Création de lanceurs Possibilité de générer dans un répertoire différent de la source Préinitialisation possible d’un dictionnaire de valeurs Ecriture des fichiers uniquement si différents Debugging – – • Extensible par plugin Pilotable par programmation (APIs) Paramétrage d’une génération – – Enchaînement par scénarios – – – – • – – Paramétrage en Java – – – • Environnement Templates – – – • Complétion automatique Colorisation syntaxique Références croisées Recherche par nom / contenu / type Polymorphisme / Héritage • Différences entre deux générations Visualisation des zones manuelles/générées Liste des fichiers non regénérés Détection du code manuel hors balise Détection des balises non regénérées Métriques de génération Mia-Generation Exemples de mise en œuvre Génération de code Ada et C pour des projets avioniques Diffusion de la démarche auprès des sous-traitants et partenaires Génération de code J2EE pour projets Internet et Extranet Réutilisation des générateurs par les MMA Génération de code PHP pour refondre le SI Utilisation par une petite équipe (10 personnes) Génération d’objets métiers et de services Java pour l’Assurance Intégration OEM du moteur de génération Génération de squelettes de code mainframe Natural Evolution vers une architecture SOA 13 Plan Société Produits pour le développement logiciel Produits pour la modernisation Plateforme open-source MoDisco 14 Mia-Modernization Analyse Analyse Qualité Qualité Rétro-modélisation Rétro-modélisation Refactoring Refactoring Model-Driven Model-Driven Créez les règles de transformation adaptées à votre contexte 15 Mia-Modernization Principe : transformation du modèle de l’application existante Analyse Qualité Contrôle de normes Calcul de métriques File File Method Method Class Class Variable Variable modèle du code Rétro-modélisation Extraction de points de vue Création de modèles personnalisés Transformation Transformation automatique automatique Refactoring Remise aux normes Migrations techniques paramétrage de la transformation 16 Mia-Modernization Crédit du Nord Migration NSDK vers J2EE et NatWeb vers J2EE Migration VB6 vers J2EE/Ajax/JSF Migration NSDK vers J2EE Migration Oracle Forms vers J2EE Migration Natstar vers J2EE Migration VB6 vers .Net Migration Cool:Gen vers Cobol/ Java Migration CoolGen vers J2EE/Cobol Migration Abal vers C#.net Migration Omnis7 vers J2EE/Ajax /JSF Migration NSDK vers .Net Webform 17 Plan Société Produits pour le développement logiciel Produits pour la modernisation Plateforme open-source MoDisco 18 MoDisco Plateforme MoDisco Projet Eclipse / GMT • • Supporté par l’OMG • www.eclipse.org/gmt/modisco Créé par l’INRIA Groupe de travail ADM : Architecture Driven Modernization Cofinancé par la Communauté Européenne • Projet de recherche 19