Études sur l’utilisation et l’impact des patrons de conception

Java Entreprise Edition : JEE

Dans cette section, nous présentons le Framework Java Entreprise Edition (JEE), son architecture ainsi que les patrons JEE.

Qu’est-ce que JEE? 

JEE est l’abréviation de « Java Entreprise Edition », anciennement connue par le nom Java 2 Platform, Enterprise Edition (J2EE). JEE est une plate-forme pour développer, déployer et exécuter des applications distribuées. Cette plateforme fournit un ensemble de services techniques (e.g., la gestion de la sécurité, l’accès à la base de données, etc.) pour faciliter la réalisation de certaines tâches et permettre au développeur de se focaliser sur la logique métier de l’application (Jean-Michel, 1999). La plateforme JEE est conçue pour aider les développeurs à créer des applications multi-niveaux, de grande échelle, extensibles, fiables et sécurisées.

Six versions de JEE existent dans la littérature. Chaque version est caractérisée par une liste de technologies qu’elle supporte. J2EE 1.2 (12 décembre 1999) est la première version de cette plateforme et la dernière version est JEE 7 (12 Juin 2013).

Le Framework JEE offre plusieurs composants qui facilitent le développement d’applications web : les composants clients (par exemple les applets), les composants web (par exemple les servlets et les pages Java Server Pages (JSP)) et les composants métiers (par exemple les Entreprises Java Beans (EJBs)).

Architecture de JEE

Le Framework JEE est organisé selon une architecture multi-niveaux qui est composée en général de quatre niveaux (Alur et al., 2003), (Johnson, 2004), (Niziaek, Zabierowski et Napieralski, 2008).

Les quatre niveaux qui décrivent l’architecture JEE sont :
(1) Le niveau client : offre une interface à travers laquelle le client interagit avec l’application.
(2) Le niveau web (appelée aussi la couche présentation) : gère les requêtes des utilisateurs.
(3) Le niveau métier : implémente la logique métier de l’application.
(4) Le niveau intégration : est responsable de l’interaction avec les systèmes externes, par exemple une base de données.

Patrons JEE 

La notion de patron de conception a été discutée dans plusieurs livres de référence (Gamma et al., 1994), (Horstmann, 2009) et (Bass, Clements et Kazman, 2012). Un patron de conception propose une solution à un problème récurrent. Bass, Clements et Kazman (2012) l’ont décrite comme étant une solution à une catégorie de problèmes dans un contexte général. La solution proposée est décrite par le triplet (contexte, problème et solution). Cette solution est utilisée dans un contexte spécifique pour résoudre un problème particulier. De plus, Chang et al. (2009) décrivent les patrons comme étant des solutions réutilisables pour résoudre des problèmes connus.

La notion de patron JEE est introduite par Alur et al dans leur livre « Core J2EE patterns: Best practices and design stratégies » en 2003. Alur et al. (2003) se sont basés sur leurs expériences pour décrire les patrons JEE qui sont définis comme étant les solutions aux problèmes récurrents identifiés lors de développement des applications sur la plateforme JEE. Ils présentent 21 patrons JEE. Comme les applications JEE sont des systèmes multi niveaux, ils utilisent une approche multi niveaux pour classifier les patrons JEE. Le catalogue de ces patrons est réparti sur les trois niveaux suivants : le niveau présentation, le niveau métier et le niveau intégration.

Alur et al. (2003) décrivent chaque patron JEE de façon uniforme à travers six rubriques:
(1) Le problème : présente les problèmes résolus en appliquant ce patron.
(2) Les forces : décrivent les raisons et les justifications derrière le choix de l’application de ce patron.
(3) La solution : présente la structure de la solution du patron sous forme de deux diagrammes UML (Unified Modeling Language) ainsi que les différentes stratégies utilisées pour implémenter ce patron.
(4) Les conséquences : listent les avantages et les inconvénients résultants de l’application du patron,
(5) Un exemple de code : présente un exemple d’implémentation du patron. Cette rubrique peut être incluse parfois dans la sous-partie stratégie de la rubrique solution.
(6) Les patrons apparentés : listent les patrons JEE ou les patrons ‘Gang of Four’ (GoF) qui sont en relation avec le patron JEE décrit.

Exemple de patron JEE : « Data Acccess Object (DAO) » 

Le patron « Data Access Object (DAO) » a pour but d’abstraire et d’encapsuler la partie relative à l’accès aux sources de données. Il gère la connexion aux sources de données afin d’obtenir ou de stocker les données en masquant les détails d’implémentation des fonctionnalités liées à l’accès à ces sources de données. Ceci empêche le changement des composants métiers ou des clients en cas de changement de l’implémentation des fonctionnalités relatives à l’accès aux données.

Le ‘client’ est un composant qui a besoin d’accéder à une source de données pour obtenir ou sauvegarder des données. Il est généralement un composant de la couche métier, par exemple un « Business Object » ou un « Session Facade » . Le client va accéder au composant ‘DataAccessObject’ qui joue le rôle principal du patron « DAO ». Ce composant regroupe l’implémentation des fonctionnalités qui permettent l’accès à la source de données. Il contient l’implémentation des opérations d’insertion, de recherche, de mise à jour et de suppression des données. Les données manipulées sont stockées dans le composant ‘Data Source’ qui représente la source de données, qui peut être par exemple une base de données ou un document Extensible Markup Language (XML). Le résultat de l’exécution d’une requête est sauvegardé dans le composant ‘ResultatSet‘. Les données échangées entre les clients et la source de données (c-à.-d. les données envoyées par les clients ou reçues de la part du ‘DataAccessObject‘) décrivent le contenu du composant ‘Data’ qui peut être un « Transfer Object ». Ce dernier est un patron JEE qui vise à minimiser le transfert de données à travers différentes couches. Dans le cas où l’application utilise un seul type de source de données, le patron « Factory Method » peut être appliqué pour implémenter le patron « DAO ». Pour le cas où l’application utilise plusieurs types de sources de données, le patron « Abstract Factory » peut être appliqué pour implémenter ce patron.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport-gratuit.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

INTRODUCTION 
CHAPITRE 1 REVUE DE LA LITTÉRATURE 
1.1 Attribut de qualité
1.1.1 Qu’est-ce qu’un attribut de qualité ?
1.1.2 Exemple d’attribut de qualité : modifiabilité
1.2 Architecture logicielle
1.2.1 Qu’est-ce qu’une architecture logicielle ?
1.2.2 Exemple d’architecture qui supporte la modificabilité : le style en couche
1.3 Tactiques architecturales
1.3.1 Qu’est-ce qu’une tactique ?
1.3.2 Exemple de tactiques : les tactiques de modifiabilité
1.4 Métriques
1.5 Java Entreprise Edition : JEE
1.5.1 Qu’est-ce que JEE?
1.5.2 Architecture de JEE
1.5.3 Patrons JEE
1.6 Études sur l’utilisation et l’impact des patrons de conception
1.6.1 Travaux basés sur l’analyse des classes et leurs rôles dans les patrons
1.6.2 Travaux portant sur l’évaluation de l’impact des patrons sur la qualité
1.6.3 Études systématiques analysant l’état de l’art sur l’utilisation et l’évaluation des patrons
1.7 Approches centrées sur les patrons JEE
1.8 Conclusion
CHAPITRE 2 DÉFINITION DE L’ÉTUDE EMPIRIQUE 
2.1 Questions de recherche
2.2 Choix des applications JEE
2.3 Choix des patrons JEE
2.4 Choix des métriques
2.5 Conclusion
CHAPITRE 3 COLLECTE DES DONNÉES 
3.1 Calcul des métriques
3.1.1 Processus de calcul
3.1.2 Résultats de calcul
3.2 Détection des patrons JEE
3.2.1 Processus de la détection des patrons JEE
3.2.2 Résultat de la détection
3.3 Conclusion
CHAPITRE 4 ANALYSE DES DONNÉES 
4.1 Jusqu’à quel degré les patrons JEE qui supportent la modifiabilité sont-ils utilisés dans les applications JEE?
4.1.1 Fréquences d’utilisation des patrons
4.1.2 Cooccurrences des patrons dans les applications
4.1.3 Distribution des patrons par domaine
4.2 Quel est l’impact de l’application de ces patrons JEE sur la modifiabilité des applications ?
4.2.1 Choix du coefficient de corrélation
4.2.2 Normalisation des occurrences des patrons par la taille de l’application
4.2.3 Résultats du calcul de coefficient de Spearman
4.2.4 Analyse des corrélations par patron
4.3 Analyse des résultats pour différentes versions d’applications JEE
4.3.1 Application ‘Joindesk’
4.3.2 Application ‘mvnForum’
4.3.3 Application ‘Java Pet Store’
4.4 Conclusion
CHAPITRE 5 SYNTHÈSE DES RÉSULTATS ET LIMITES DE L’ÉTUDE 
5.1 Synthèse des résultats
5.2 Limites de l’étude
5.2.1 Validité externe des résultats de l’étude
5.2.2 Validité interne de l’étude
CONCLUSION

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *