projet architecture mvc2 avec distinction classe et composant

publicité
PROJET ARCHITECTURE MVC2 AVEC DISTINCTION
CLASSE ET COMPOSANT
Introduction.
Aujourd’hui les applications logicielles sont composées de différents artefacts. Les classes d’objet
pour implémenter les logiques applicative et métier, les composants logiciels pour implémenter des
services complexes (communication réseau, gestion des transactions, etc).
L’objectif du projet est de mettre en évidence la distinction entre ces éléments, leur utilisation, leur
implémentation et leur mise en œuvre.
Le projet.
Il s’agit de réaliser le cas d’utilisation « s’authentifier ». La logique d’authentification repose sur
des classes POJO (Plain Old Java Object).
s'authentifier
utilisateur
Les contraintes non fonctionnelles précisent qu’il s’agit d’une application de type WEB avec une
interface Homme-Machine. Cette interface est réalisée avec un composant WEB, une page HTML.
L’application est structurée par le méta-patron MVC2. Le contrôleur est implémenté par un
composant de type SERVLET capable de répondre à une requête HTTP. La caractéristique de ce
type de composant est qu’il est modifié par l’environnement d’exécution lors de son déploiement.
Le service HTTP du composant SERVLET est implémenté par héritage.
Le projet est réalisé dans l’environnement intégré de développement Eclipse avec profil JAVA EE.
1/4
Architecture du projet.
L’architecture du projet repose sur quatre paquetages JAVA (contrôleur, authentification, modèle et
outils) et sur un composant de type page WEB stocké à la racine de l’application.
Une application ou un service WEB JAVA est empaqueté dans une archive standardisée de type
WAR (Web Application Resource).
Quatre classes et une interface JAVA implémentent le code côté serveur. Une page HTML
représente l’interface Homme-Machine (couche présentation).
<<page HTML>>
+ auth.html
controleur
authentification
<<servlet>>
<<interface>>
+ Conroleur
+ Authentification
+authentifier(identifiant : String,motDePasse : String) : boolean
+doPost(rep : HttpServletRequest,rep : HttpServletResponse) : void
<<realize>>
outils
+ AuthentificationImpl
+ GérantUtlisateur
1
-gerant
+authentifier(identifiant : String,motDePasse : String) : boolean
+peupler() : void
modèle
-utilisateurs
1..*
+ Utilisateur
-identifiant : String
-motDePasse : String
+newAttr : int
Les utilisateurs ne sont pas stockés dans une source de données de type système de gestion de base
de données (SGBD) mais en mémoire dans une collection JAVA (java.util.List).
2/4
La cinématique du processus d’authentification.
Le diagramme de séquence ci-dessous représente les interactions entre les objets JAVA qui
implémentent le service d’authentification.
/contrôleur
/authentificateur
/utilisateur
/gérant
authentifier()
getUtilisateurs()
LOOP
getIdentifiant()
getMotDePasse()
L’objet contrôleur est implémenté par la SERVLET de l’application
3/4
Le déploiement de l’application.
L’application est déployée dans un micro-conteneur de type Docker. Celui-ci héberge une instance
du serveur d’application JAVA EE WEB TOMCAT, produit logiciel de la fondation APACHE.
serveur
HTTP
client
conteneur Docker
serveur HTTP TOMCAT
navigateur WEB
application WEB
application WEB authentifier
4/4
Téléchargement