| Titre : | Extraction de modèles de navigation à partir des applications à base de composants Web |
| Auteurs : | Meriem Tatai, Auteur ; Mohamed Lamine Kerdoudi, Directeur de thèse |
| Type de document : | Monographie imprimée |
| Editeur : | Biskra [Algérie] : Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie, Université Mohamed Khider, 2017 |
| Format : | 1 vol. (112 p.) / 30 cm |
| Langues: | Français |
| Mots-clés: | Applications Web,Rétro-ingénierie,Ingénierie dirigée par les modèles MDE,Éléments de navigation,Rich Client Platform RCP. |
| Résumé : |
La phase de la compréhension est la plus chère dans le processus d'évolution et de la maintenance des logiciels. Afin de maintenir et de comprendre les applications de très grande taille, il est important de reconnaitre leur architectures. Par ailleurs, la reconstruction d'architecture est une approche de rétro-ingénierie qui vise à reconstruire des vues architecturales des applications logicielle. L'objectif de ce travail est de proposer un processus et un outil pour la reconstruction des modèles de navigation à partir des applications à base de composants Web. Ces modèles aident à améliorer la compréhension des applications Web. Par conséquent, réduire les coûts de l'évolution et de la maintenance. |
| Sommaire : |
Introduction générale 1 I État de l'art 4 1 Développement des applications à base de composants Web 5 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Architecture des applications à base de composants Web . . . . . . . . . . 5 1.2.1 Tier de présentation . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.2 Tier du logique métier . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.3 Tier de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 Modélisation des applications Web . . . . . . . . . . . . . . . . . . . . . . 7 1.3.1 Modèle de contenu . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.2 Modèle de navigation . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.3 Modèle de présentation . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.4 Modèle de processus . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.4 Frameworks pour des applications à base de composants Web . . . . . . . 9 1.4.1 Pattern Modèle/Vue/Contrôleur . . . . . . . . . . . . . . . . . . . . 9 1.4.2 Frameworks basés sur le MVC . . . . . . . . . . . . . . . . . . . . . 10 1.4.2.1 Frameworks Struts . . . . . . . . . . . . . . . . . . . . . . 10 1.4.2.2 Frameworks Java Server Faces . . . . . . . . . . . . . . . . 11 1.4.2.3 Frameworks Django . . . . . . . . . . . . . . . . . . . . . 12 1.5 Quelques types d'applications à base de composants Web . . . . . . . . . . 12 1.5.1 Application Web avec la plateforme Java EE . . . . . . . . . . . . . 13 1.5.1.1 Architecture d'une application Java EE . . . . . . . . . . 13 1.5.1.2 Composants d'une application Java EE . . . . . . . . . . . 13 1.5.2 Application Web Ruby on Rails . . . . . . . . . . . . . . . . . . . . 16 1.5.2.1 Architecture d'une application Ruby on Rails . . . . . . . 16 1.5.2.2 Diérents composants du Rails . . . . . . . . . . . . . . . 17 1.6 Exemple d'applications Java EE . . . . . . . . . . . . . . . . . . . . . . . . 18 1.6.1 Login JSP/JavaBean . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.6.2 Login JSP/Servlet/JavaBean . . . . . . . . . . . . . . . . . . . . . 22 1.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2 Ingénierie dirigée par les modèles 26 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.2 Concepts de base de l'approche MDE . . . . . . . . . . . . . . . . . . . . . 26 2.2.1 Hiérarchie de modélisation . . . . . . . . . . . . . . . . . . . . . . . 27 2.3 Processus de rétro-ingénierie . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.4 Architecture dirigée par les modèles . . . . . . . . . . . . . . . . . . . . . . 28 2.4.1 Typologie des modèles dans l'approche MDA . . . . . . . . . . . . . 28 2.4.2 Standards de MDA . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4.3 Transformation des modèles en MDA . . . . . . . . . . . . . . . . . 30 2.4.3.1 Types de transformations des modèles . . . . . . . . . . . 30 2.4.3.2 Langages de transformation des modèles . . . . . . . . . . 31 2.4.4 Principe de rétro-ingénierie dans MDA . . . . . . . . . . . . . . . . 34 2.5 Ingénierie Web dirigée par les modèles . . . . . . . . . . . . . . . . . . . . 34 2.5.1 Ingénierie Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.5.2 Ingénierie Web structuré par l'approche MDA . . . . . . . . . . . . 35 2.6 Outils de développement dirigé par les modèles . . . . . . . . . . . . . . . 36 2.6.1 Eclipse Modeling Framework EMF . . . . . . . . . . . . . . . . . . 37 2.6.2 Graphical Modeling Framework GMF . . . . . . . . . . . . . . . . 38 2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3 Approches de rétro-ingénierie 40 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.2 Approches de rétro-ingénierie pour les applications Web . . . . . . . . . . . 40 3.2.1 WARE : Web application Reverse Engineering . . . . . . . . . . . . 41 3.2.2 MigraRia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.3 Quelques autres approches de rétro-ingénierie . . . . . . . . . . . . . . . . 43 3.3.1 Rétro-ingénierie dirigée par les modèles . . . . . . . . . . . . . . . . 43 3.3.1.1 MoDisco . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3.2 Reconstruction d'architecture logicielle . . . . . . . . . . . . . . . . 45 3.3.2.1 Workbench Dali . . . . . . . . . . . . . . . . . . . . . . . 45 3.3.2.2 ARMIN : Architecture Reconstruction and Mining . . . . 47 3.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.5 Méta-modèles de navigation existants . . . . . . . . . . . . . . . . . . . . . 48 3.5.1 Méta-modèle UWE de navigation . . . . . . . . . . . . . . . . . . . 49 3.5.2 Méta-modèle WebML de navigation . . . . . . . . . . . . . . . . . . 50 3.5.3 Méta-modèle OOH de navigation . . . . . . . . . . . . . . . . . . . 51 3.5.4 Méta-modèle Struts . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.5.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 II Contribution 55 4 Processus de génération de modèles de navigation 56 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2 Processus proposé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.1 Méta modèle de navigation proposé . . . . . . . . . . . . . . . . . . 57 4.2.2 Description détaillée de processus . . . . . . . . . . . . . . . . . . . 62 4.2.3 Règles de correspondance . . . . . . . . . . . . . . . . . . . . . . . 63 4.3 Outil NavModGen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.3.1 Architecture globale du NavModGen . . . . . . . . . . . . . . . . . 70 4.3.1.1 Composant Analyseur . . . . . . . . . . . . . . . . . . . . 70 4.3.1.2 Composant Transformateur . . . . . . . . . . . . . . . . . 71 4.3.1.3 Composant RCP . . . . . . . . . . . . . . . . . . . . . . . 71 4.3.1.4 Composant CreateurModNavDiagram . . . . . . . . . . . 71 4.3.2 Architecture détaillée du NavModGen . . . . . . . . . . . . . . . . 72 4.3.2.1 Diagrammes de classes . . . . . . . . . . . . . . . . . . . . 72 4.3.2.2 Fonctionnement du NavModGen . . . . . . . . . . . . . . 81 4.4 Application RCP de navigation . . . . . . . . . . . . . . . . . . . . . . . . 83 4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5 Expérimentation 90 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.2 Environnement et outils de développement . . . . . . . . . . . . . . . . . . 90 5.2.1 Langage Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.2.2 Plateforme Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.2.3 Java Development Tools . . . . . . . . . . . . . . . . . . . . . . . . 91 5.2.4 HTMLParser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.3 NavModGen par l'exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.3.1 Description de l'application choisie : EAuction . . . . . . . . . . . . 92 5.3.2 Présentation du NavModGen . . . . . . . . . . . . . . . . . . . . . 92 5.3.3 Discussion sur les modèles générés . . . . . . . . . . . . . . . . . . . 101 5.3.4 Scénario d'évolution . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5.4 Évaluation des performances . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.4.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Conclusion et perspectives 108 Bibliographie 110 |
Disponibilité (1)
| Cote | Support | Localisation | Statut |
|---|---|---|---|
| MINF/263 | Mémoire master | bibliothèque sciences exactes | Consultable |



