Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé avec Java et HTML. Voir
Architecture dun site de vente au détail2 Architecture Modèle- Vue-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 dun site de vente au détail3 Schéma général
Architecture dun site de vente au détail4 Responsabilités Modèle Le modèle représente les données de lentreprise et les règles daffaires qui sappliquent sur laccès et les mises à jour aux données Vue La vue présente à lutilisateur le contenu dun 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 lactivation 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 lactivation des règles daffaire ou les changements à létat du modèle. Basé sur les interactions de lutilisateur et le résultat des actions sur le modèle, le contrôleur répond en présentant la vue appropriée.
Architecture dun site de vente au détail5 Architecture des composants en RoR Voir livre, ref 2, p. 12
Architecture dun site de vente au détail6 Le routage en RoR Voir livre, ref 2, p. 280
Architecture dun site de vente au détail7 Architecture des composantes en Java
Architecture dun site de vente au détail8 Description Application Controller – Controleur dapplication 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 dassembler une vue unique à partir de vues individuelles. La composition se fait avec un descripteur en XML qui sapplique sur une page JSP. Data Access Object (DAO) - Objet daccès aux données Classes qui gère laccè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 dobjets génériques
Architecture dun site de vente au détail9 Description (2) Front Controller – Contrôleur frontal Point daccès central à toutes les requètes, suit lexécution. Intercepting Filter - Filtre dinterception 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 dune commande et à létat du système. View Helper – Aide pour la vue Outils complémentaires pour afficher la vue de létat dun modèle.
Architecture dun site de vente au détail10 Architecture détaillée (2)
Architecture dun site de vente au détail11 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 Voir detailed.htmlhttp://java.sun.com/blueprints/patterns/MVC- detailed.html Implementing MVC Design Pattern in.NET