ppt - Service web

publicité
Modèle d'un site
simple de vente
• L’exemple du livre “Ruby on Rails”
• Partie II
• Java Adventure Builder Demo
• Réalisé avec Java et HTML.
• Voir
http://java.sun.com/blueprints/code/adventure/1.0/docs/architecture.html
Architecture d’un site de vente au détail
1
Architecture ModèleVue-Contrôleur
• Pourquoi?
• Séparer les responsabilités
• Permettre une diversité des
interfaces selon les technologies
• Rendre facile les changements aux
flots des interactions
• Plusieurs modèles MVC
• WebObjects, Struts, Java Server
Faces, Ruby on Rails
Architecture d’un site de vente au détail
2
Schéma général
Architecture d’un site de vente au détail
3
Responsabilités
• Modèle
• Le modèle représente les données de l’entreprise et les
règles d’affaires qui s’appliquent sur l’accès et les mises à
jour aux données
• Vue
• La vue présente à l’utilisateur le contenu d’un modèle.
• Contrôleur –
• Le contrôleur traduit les interactions de la vue en des
actions qui seront exécutées par le modèle.
• Dans un client autonome, les actions seront l’activation des
boutons et les choix dans les menus
• Dans une application Web, les actions seront des requêtes
HTTP GET et PUT
• Les actions exécutées par le modèle inclues l’activation des
règles d’affaire ou les changements à l’état du modèle.
• Basé sur les interactions de l’utilisateur et le résultat des
actions sur le modèle, le contrôleur répond en présentant la
vue appropriée.
Architecture d’un site de vente au détail
4
Architecture des
composants en RoR
• Voir livre, ref 2, p. 12
Architecture d’un site de vente au détail
5
Le routage en RoR
• Voir livre, ref 2, p. 280
Architecture d’un site de vente au détail
6
Architecture des
composantes en Java
Architecture d’un site de vente au détail
7
Description
•
Application Controller – Controleur d’application
• Responsable pour la traduction des requetes http en
commandes et pour gérer le cycle de vie des commandes
individuels
•
Command – Une commande
• Une opération de traitement sur une requête individuelle.
Dans plusieurs, plusieurs requêtes peuvent être traité par la
même commande.
•
Composite View – Une vue composite
• Fournit une façon d’assembler une vue unique à partir de
vues individuelles. La composition se fait avec un
descripteur en XML qui s’applique sur une page JSP.
•
Data Access Object (DAO) - Objet d’accès aux données
• Classes qui gère l’accès aux données externes en SQL
•
Facade - Façade
• Un accès regroupé et simple pour accéder à des objets
spécialisés dérivés d’objets génériques
Architecture d’un site de vente au détail
8
Description (2)
•
Front Controller – Contrôleur frontal
• Point d’accès central à toutes les requètes, suit l’exécution.
•
Intercepting Filter - Filtre d’interception
• Pré-traitement et post-traitement des requêtes
•
Service Locator – Identificateur de service
• Trouver et identifier la ressource externe nécessaire pour
une application, comme une ressource base de données,
serveur externe de mail, etc…
•
View Dispatcher – Répartiteur de vue
• Habituellement une partie du contrôleur, le répartiteur de
vue est responsable de redonner la main à une vue
spécifique suite aux résultats d’une commande et à l’état du
système.
•
View Helper – Aide pour la vue
• Outils complémentaires pour afficher la vue de l’état d’un
modèle.
Architecture d’un site de vente au détail
9
Architecture détaillée
(2)
Architecture d’un site de vente au détail
10
Références sur le patron
“Modèle-Vue-Contrôleur”
• Voir la référence 2, pages 9-18, et la Partie
III, The Rail framework, pages 173-372
•
Voir http://java.sun.com/blueprints/patterns/MVCdetailed.html
• Implementing MVC Design Pattern in .NET
•
•
http://www.c-sharpcorner.com/Code/2003/Feb/MVCDesign.asp
http://developer.apple.com/documentation/WebObjects/
Architecture d’un site de vente au détail
11
Téléchargement