|
Architecture J2EE - Comment organiser son application J2EE
4.3.Modélisation
La modélisation est une phase
importante dans le développement d’un projet (simple ou
complexe). Nous allons expliquer en détail chaque point de
l’architecture de notre application.
4.3.1.Architecture
Pour avoir une architecture robuste,
modulable et évolutive, il nous faut utiliser le principe de
« couche » (comme vu précédemment).
Nous allons donc séparer au
maximum les différents types de traitement de l’application
(Dao, Service, Application, Présentation).
Voici un schéma global de
notre architecture :

4.3.2.Patterns utilisés
L’organisation de l’application
étant établie, il faut maintenant savoir comment
connecter les couches entre elles. Cette phase est sans doute l’une
des plus dure.En effet, il faut penser « objet »
et avoir un degré d’abstraction qui prenne en compte les
contraintes d’évolution et de modularité de
l’application.
L’utilisation de patterns est
donc, ici, indispensable. Voici le détail (du pourquoi) de
chacun des patterns utilisés dans notre application.
4.3.2.1.Façade
Nous utilisons le pattern Façade
pour l’ensemble des DAO et des Services. Cela permet de cacher
l’implémentation de ceux-là. Pour chacun des DAO
et des Services nous établissons une interface définissant
les différents comportements possibles pour ce composant.
Ensuite il suffit de créer l’implémentation
suivant les besoins et les ressources disponibles pour l’application.
4.3.2.2.Fabrique
Le travail de fabrication des
services pour la couche application ou encore la création des
DAO pour la couche service est assuré par des Fabriques.
Celles-ci ont la charge de créer
les objets demandés de façon complètement
autonome. Elles nous permettrons de créer des instances
dynamiquement suivant des entrées spécifiées
(via JNDI) dans le context de l’application courante.
4.3.2.3.MVC (Model View Controller)
Le pattern MVC, est utilisé
dans les couches Application et Présentation. Il permet
d’interconnecter ces deux couches de façon remarquable.
Dans ce pattern, il faut définir
les éléments : Model, View et Controller. Dans le
cas d’une application web :
- Models : les différents
services de l’application
- View : les pages JSP
générant le HTML
- Controller : les servlets
servant à traiter les requêtes utilisateurs
 Voici
la description des différentes étapes :
- Le client envoie une requête
à l’application web
- La servlet (mappée sur
l’url demandée par le client) doit traiter la demande
client
- La servlet demande au(x)
modèle(s) les informations (ou les supprime ou les met à
jour)
- La servlet sélectionne la
bonne vue à afficher au client
4.3.2.4.Les packages
Dans une application Java, il faut
également penser à l’organisation de nos
différents packages.
Le package racine sera :
« com.society.contactbook ». Nous retrouverons
les sous-packages :
- com.society.contactbook.bo :
regroupe l’ensemble des classes décrivant les entités
de l’application
- com.society.contactbook.dao :
ensemble des interfaces des DAO
- com.society.contactbook.dao.jdbc :
ensemble des classes d’implémentation DAO utilisant
JDBC
- com.society.contactbook.service :
ensemble des interfaces des services
- com.society.contactbook.service.impl :
ensemble des classes d’implémentation Service
- com.society.contactbook.application :
ensemble des classes pour la couche application (servlet
principalement)
- com.society.contactbook.presentation :
ensemble des classes à utiliser pour la présentation
(très peu, décorateurs pour les tag-lib par exemple …)
| |