19 septembre 2006 Tendances Logicielles MDD/MDA : Génération dapplications avec IBM Rational Software Architect Jean-Pierre Schoch –

Slides:



Advertisements
Présentations similaires
École Nationale Supérieure d’Informatique et d’Analyse des Systèmes
Advertisements

Présentation de frameworks J2EE
Applications N-Tiers Rappels: architecture et méthodologie
Mathilde VINCENT - Olivier JOURDAN Paris - le 7/2/2012
Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
Langage de modélisation objet unifié
6 — Aperçu du processus unifié
Architecture Technique de la plate-forme CASTORE
Les Web Services Schéma Directeur des Espaces numériques de Travail
Unified Modeling Language
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Serveurs web pour JSP et Servlets
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
Design Pattern MVC En PHP5.
Introduction à UML NFE108 CNAM – LILLE Madame DELECLUSE
UML (Unified Modeling Langage)
Rational Unified Process (RUP)
Introduction aux services WEB
Page de garde Introduction aux Design Patterns ISIA, Mars 2003
Création d’un langage d’action pour un logiciel MDA
Ericsson Communications Inc. Le problème dinteropérabilité entre les plate- formes dagents mobiles Présenté par Bah Thierno CAT 2000.
le profil UML en temps réel MARTE
pour les applications Web :
JAVASERVER FACES Un framework Java pour le développement Web.
1 Soutenance de stage Projet Farandole Christophe Matiachoff Touati Sid Mathieu Changeat
Analyse et Conception orientée objet
Projet JAVA EE Approfondi
LES OUTILS POUR LA GOUVERNANCE DES DONNÉES LA PRÉCISION DES RÉSULTATS
UML F. Laperruque INRA – SAGA CATI SICPA.
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Portée, arrimages et intervenants Évolution des méthodes
Projet de Master première année 2007 / 2008
Adaptée du cours de Richard Grin
Toujours partir du besoin métier – Pas dune envie de linformatique Concevoir les services – puis concevoir leur implémentation Le vrai bénéfice est.
Processus d'un projet F.Pfister
Sensibilisation a la modelisation
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Architecture et développement Web
Entity Framework 4 Mitsuru FURUTA Relations techniques développeurs
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
1 PLAN I. Eclipse Modeling Framework  Présentation  Le modèle Ecore  Code généré  Utilisation de template II.Graphical Modeling Framework  Présentation.
UML.
Découverte des Framework : SPRING & JAXB
Architecture Logicielle Les blocs d’applications
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Solution cherche Problème Pierre-Alain Muller ObjeXion - ESSAIM
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
UML : un peu d’histoire H. Lounis.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Le web service
BEWITCHED 12/10/2006 Soutenance GLAO #5 slide 1 Soutenance GLAO #5 AGL & SYGIME Bewitched Team 12 Octobre 2006.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Struts.
2 Processus de conception de BD
1 Vers la gestion de la cohérence dans les processus multi-modèles métier Wolfgang THEURER Ecole Nationale Supérieure d’Ingénieurs des Etudes et Techniques.
Unified Modeling Language
Conférence Témoignages métiers- Supinfo Nantes  Création en 1979  CA de 150 Millions €  Présence nationale et internationale  2300 personnes en France.
Le diagramme de composants
Les concepts d’UML - Le Processus Unifié -
1 JEE 2010 Architectures n-tiers F.Pfister
PROJET TIMETABLEASY Benoît GERARD Laurent GAUTIER Médoune SARR PAPA Johnny TSANG.
Conférence 2TUP Stéphane Barthon 03/12/
Présentation de la méthode Merise
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
UML : méthode Processus. Introduction(1) ● Cycles ● Spécification par cas d'utilisation ● Identifier les besoins ● Analyse par cas d'utilisation ● Affiner.
Transcription de la présentation:

19 septembre 2006 Tendances Logicielles MDD/MDA : Génération dapplications avec IBM Rational Software Architect Jean-Pierre Schoch –

19 septembre 2006 Tendances Logicielles Agenda Le développement logiciel aujourdhui Les technologies orientées-objet et UML Les approches MDD/MDA Un exemple concret : génération dune application Web à partir dUML Conclusion

19 septembre 2006 Tendances Logicielles Agenda Le développement logiciel aujourdhui Les technologies orientées-objet et UML Les approches MDD/MDA Un exemple concret : génération dune application Web à partir dUML Conclusion

19 septembre 2006 Tendances Logicielles Taux de réussite des projets de développement Rapports du « Standish Group »AnnéeTaux de réussite (1) Premier rapport « Chaos » % « Extreme Chaos » % Dernier rapport « Chaos » % (1)Réussite = projet délivré à temps, dans les budgets et répondant aux besoins des utilisateurs Au début du 21e siècle, la maîtrise des développements logiciels reste largement aléatoire !

19 septembre 2006 Tendances Logicielles Challenges du développement logiciel Développer … rapidement, à moindre coût, un logiciel de qualité performant facile à maintenir facile à faire évoluer Rapide Pas cher De qualité Le développement peut être : Choisissez-en deux !

19 septembre 2006 Tendances Logicielles Quelques solutions actuelles … Gestion des exigences avec les cas dutilisation Améliore ladéquation du logiciel au « vrai » besoin Nécessite un changement dattitude des « spécificateurs » et des analystes Développement itératif Améliore le contrôle et le suivi des projets de développement Nécessite un changement dattitude de toute lorganisation Technologies orientées-objet Améliorent la qualité du logiciel développé Souvent mal appliquées malgré une large adoption et le succès dUML Les solutions actuelles sont nécessaires mais pas suffisantes.

19 septembre 2006 Tendances Logicielles Agenda Le développement logiciel aujourdhui Les technologies orientées-objet et UML Les approches MDD/MDA Un exemple concret : génération dune application Web à partir dUML Conclusion

19 septembre 2006 Tendances Logicielles Fondements des techniques orientées-objet Abstraction Simplification de la réalité Encapsulation Séparation des interfaces et des implémentations Polymorphisme Capacité à traiter un ensemble dobjets de classes différentes, comme sils étaient de la même classe Applications Design Patterns Plate-forme J2EE Service-Oriented Architecture (SOA) Les bons principes dingénierie ne se démodent jamais. (Grady Booch)

19 septembre 2006 Tendances Logicielles 1967 Fondations de lobjet (Nygaard, Goldberg, Meyer, Stroustrup, Harel, Wirfs-Brock, Reenskaug, …) Evolution de UML (Unified Modeling Language) 3Q2004 UML 2.0 (MDA) UML 1.1 (OMG Standard) UML 1.3 (extensibilité) UML 1.4 UML Jacobson Harel Booch Rumbaugh

19 septembre 2006 Tendances Logicielles Pourquoi UML 2 ? Première révision majeure dUML Nécessité de modifier le standard pour mieux traiter : Les exigences MDD (Model- Driven Development) : Précision Génération de code Capacité à exécuter Les « gros » systèmes logiciels

19 septembre 2006 Tendances Logicielles Agenda Le développement logiciel aujourdhui Les technologies orientées-objet et UML Les approches MDD/MDA Un exemple concret : génération dune application Web à partir dUML Conclusion

19 septembre 2006 Tendances Logicielles Model-Driven Development (MDD) Une évolution naturelle des technos OO Lencapsulation de la logique métier dans des modèles Lutilisation de ces modèles pour automatiser le développement dapplications, la génération de code, le test et la maintenance ? ?

19 septembre 2006 Tendances Logicielles Model-Driven Architecture (MDA) Un « style architectural » Une initiative OMG

19 septembre 2006 Tendances Logicielles Transformations entre modèles et/ou de modèle à code Les transformations encapsulent : Les implémentations techniques Les meilleures pratiques Mettent en œuvre des profils UML Profil = collection de stéréotypes Stéréotypes = pour étendre/spécialiser UML pour des domaines et/ou des applications spécifiques

19 septembre 2006 Tendances Logicielles Agenda Le développement logiciel aujourdhui Les technologies orientées-objet et UML Les approches MDD/MDA Un exemple concret : génération dune application Web à partir dUML Conclusion

19 septembre 2006 Tendances Logicielles Modélisation UML de lIHM Modélisation UML du contenu des écrans et de la navigation entre écrans (User eXperience Modeling) : Et si on pouvait générer les écrans à partir du modèle, … Et laccès à la base de données … ?

19 septembre 2006 Tendances Logicielles Transformation « UX To Web » Utilise JSF pour la couche présentation Mapping entre les classes UML et les écrans de lIHM : profil UXModeling Utilise Hibernate pour la couche persistence (classes « entité » ou « beans ») Mapping entre les classes UML (« entité ») et les tables : profil DataModeling

19 septembre 2006 Tendances Logicielles Démonstration Présentation du modèle UML Génération et exécution de lapplication Web Modification du modèle UML (logique métier) Modification de la génération de code (template JET)

19 septembre 2006 Tendances Logicielles Comment ça marche … en quelques mots La transformation utilise deux règles de transformation : La règle dextraction des données du modèle UML : Résultat stocké sous forme dune représentation interne Par exemple, une classe stéréotypée > et les données associées sont stockés dans une structure « JSP » La règle de génération de code : Retrouve les données à partir de la représentation interne Applique les templates JET de génération de code (diapo suivante) Cette séparation signifie quil est très facile détendre la transformation : Par exemple, à partir de la même représentation interne dune « JSP », la règle de génération peut appliquer un template Struts ou un template JSF.

19 septembre 2006 Tendances Logicielles Templates JET (Java Emitter Templates) Un template par type de fichier à générer (par exemple : page JSP, fichier XML pour la configuration de Hibernate, classe Java) : déclarations du « langage » ciblé + tags Java (en rouge dans lexemple) Une classe de génération compilée « en ligne » pour chaque template, avec un opération « generate » qui prend un paramètre représentant lobjet à générer <$ Class cl = (Class) argument; if (cl.getAppliedStereotypes() != null) {$> "><$ for (Iterator j = cl.getAppliedStereotypes().iterator(); j.hasNext();) { Stereotype st = (Stereotype) j.next();$> "><$ <$ }$> <$ } $>

19 septembre 2006 Tendances Logicielles Agenda Le développement logiciel aujourdhui Les technologies orientées-objet et UML Les approches MDD/MDA Un exemple concret : génération dune application Web à partir dUML Conclusion

19 septembre 2006 Tendances Logicielles MDD/MDA Expertise technique directement capturée dans les transformations au lieu dêtre documentée sous forme de guides de projet ou dêtre « redécouverte » encore et encore… Pas que du code : beaucoup des « artefacts » logiciels autres que le code dérivés complètement ou partiellement à partir des modèles Parce que les modèles de haut niveau ne sont pas pollués par les détails dimplémentation, il est (beaucoup) plus facile de gérer les changements de technologie. En particulier : Il est possible dessayer différentes idées avant de faire un choix définitif Les « mauvaises » décisions sont facilement changées Lapproche MDD est particulièrement rentable quand elle est appliquée au niveau dune organisation : le ROI des transformations augmente chaque fois quelles sont réutilisées… MDD/MDA marque une nouvelle ère du développement logiciel : Son industrialisation