2. Introduction du modèle MVC

publicité
TSIG2 Développeurs
J2EE Et MVC
1. Présentation générale
Les architectures distribuées implémentent des composants sur différentes machines en
utilisant des serveurs d’applications., des serveurs de données.. On les appelle aussi
architecture « multi-tiers ». Dans une architecture distribuée, il existe forcément un client
(station de travail…) et un ou plusieurs serveurs (mainframe, As400, pc, serveur Unix,
…)les fonctions sont réparties entre le client et les serveurs les informations sont échangées
via le réseau. Le modèle MVC apparu dans les années 90, s’intégre dans cette architecture et
permet d’éliminer des inconvénients de la programmation traditionnelle en s’iriantant vers le
développement par composants.
2. Introduction du modèle MVC
Dans une application, on peut distinguer :

La présentation. C’est typiquement une interface graphique de type windows ou
swing, ou de type HTML ou Xml sur le navigateur du client.

La partie fonctionnelle qui réalise le traitement particulier. Cette partie est orientée
« métier », elle utilise les objets « métiers » définis lors de l’analyse par exemple
Client, Commande, Produit. Elle incorpore la validation des données, les calculs
éventuels, l’état des données….
La partie « accès aux données ». Son rôle est d’assurer le lien avec le SGBD. Les
données peuvent être extraites de la base, modifiées, écrites, supprimées dans
l’application, la base de données doit être mises à jour.

L’architecture MVC (modèle vue contrôleur) préconise la séparation du développement de
ces trois couches. Une application MVC présentera donc :

Une partie Interface de présentation c’est la vue par exemple écran Html ou écran
swing ou écran windows. Cette partie peut intégrer des contrôles de saisie. Elle
s’occupe de présenter les données reçues du contrôleur et lui transmet les actions à
effectuer en fonction des demandes des utilisateurs. Exemple : Affichage d’un compte
client dans une banque. Le client entre son n° et demande à voir son compte.

Une couche applicative ou contrôleur réalisant le traitement. Les objets métiers sont
utilisés pour ces traitements. Exemple : Le contrôleur a reçu la demande du client et
son numéro, il fait une requête à la couche données, récupère les informations du
client dans un objet métier de classe « Client », et toutes les opérations réalisées par le
client et les stocke dans un objet métier ici « LesOpérations ». Il peut alors calculer le
solde du compte et l’envoyer à la vue.

Une couche accès aux données ou modèle qui effectue les requêtes, prévoit les
opérations de mises à jour dans la base. Cette couche doit assurer la sécurité des
opérations comme les transactions, les contrôles d’accès. Elle doit également garantir
la cohérence des données.
-1-
TSIG2 Développeurs
J2EE Et MVC
3. Inconvénient de la démarche « classique »
La programmation classique comporte un certain nombre d’inconvénients.

Chaque programme est « artisanal », il ne répond à aucune spécification générale. La
structure de l’application est peu visible, l’évolution de l’application est difficile.

Une modification implique tout le programme. Un changement de technologie induit
une réécriture totale. Exemple : passage en Intranet d’une application windows

Tout est à la charge du programmeur, présentation, logique d’application, traitement des
données. Le travail est difficilement partageable.

L’objet peut être utilisé mais n’a pas réellement sa place dans une démarche organisée.
Ce type de programmation reste valable pour les petits projets à durée de vie courte qu’on
appelle parfois projets « jetables » car ils sont rapides à développer et à remplacer. Elle ne
correspond pas aux impératifs des architectures distribuées. D’ autre part l’engenierie
informatique tend à répondre à de nouvelles exigences de standardisation pour une
amélioration de la qualité dans une démarche plus « industrielle ».
4. Les composants logiciels
Le modèle MVC est un paradigmerécent. Il a été rendu possible par l’évolution des
technologies (client /serveur n-tiers, réseaux, objets etc..).
La programmation par « composants » logiciels a également été à l’origine du modèle. Un
composant regroupe des instructions et implémente une fonction particulière. Exemple :
Composant d’accès aux données client ou composant de traduction euro/franc.
Cela facilite la réutilisation, et permet les applications réparties par assemblage de
composants existants.
Parmi les différentes technologies de composants on peut citer
 les ActiveX (Com/Dcom), web services (.Net) de Microsoft
 Les Applets, JavaBean, EJB (entreprise java beans) etc.. de java.
 Les composants CORBA
 Les composants web servlets, Jsp(java server page)
Le Applets s’exécutent sur le client, les Beans sur le serveur.
Dans toutes ces technologies, un containeur encapsule le composant et assure un certain
nombre de services comme le nommage, la sécurité, la persistance, la gestion de
transaction…. Un espace d’exécution assure le chargement et le lien avec le système local. La
JVM (java virtual machine) sert d’espace d’exécution en Java. Elle permet le développement,
le déploiement et l’exécution.
5. Java et développement web
Le développement web java se fait le plus souvent en utilisant un serveur d’application ou
un serveur d’application d’entreprise.
Serveur d’application
-2-
TSIG2 Développeurs
J2EE Et MVC
Un serveur d’application est un logiciel qui s’intégre au serveur web et lui apporte des
fonctionnalités supplémentaires. Par exemple Tomcat s’intégre à Apache ou à IIS et sert de
moteur d’exécution pour les Servlets et les JSP. Il permet de gérer les transactions, les
connexions aux bases de données etc…
Tomcat est un projet de l’Apache Software Foundation.
Serveur d’application d’entreprise
Ils sont utilisés pour les applications qui demandent un haut niveau de disponibilité et sont
une extension des serveurs d’applications web. Ils permettent une gestion des
transactions améliorées(mécanisme de transactions sur plusieurs machines, équilibage de
charge, distribution de la logique fonctionnelle et transactionnelle sur plusieurs machines
etc…). Les serveurs d’applications d’entreprise permettent le développement des
EJB(entreprise java beans)
7. Mvc avec Tomcat
Tomcat permet le développement de servlets et de JSP ce qui va permettre d’implémenter
MVC.
1. le navigateur lance une requête qui est soumise à Tomcat via le serveur web. La
réception de cette requête peut être faite par un servlet ou un JSP (traduit en servlet
par Tomcat) qui constitue la vue.
2. La partie traitement est soumise au controleur (javabean).
3. Le controleur fait appel au modèle (classes java) .
Ces classes réalisent l’accès aux données requises par le traitement. Elles doivent
respecter les spécifications EJB(constructeur par défaut, un « getter » et un « setter »
par données privée de la classe).
4. Le traitement récupére les données ou le résultat de l’opération dans des objets métiers
correspondants aux objets manipulés. Les données peuvent être banalisées sous forme
de collections par exemple .
5. La vue restitue les résultats .
Les EJB seront utilisés comme composants à la place des javaBeans avec un serveur
d’applications d’entreprise.
-3-
Téléchargement