Design Pattern JEE

659 vues

Publié le

Le support d'un Workshop qui présente les design pattern d'architecture JEE pour illustrer les différents éléments d'un Framework. Réalisé à l'aide de l'excellent "Head First Servlets & JSP"

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
659
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
24
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Design Pattern JEE

  1. 1. Design Pattern Java EE – L’essentiel By Yannick
  2. 2. • Sommaire Tour d’horizon de ce que l’on va aborder… Intro Design Pattern dans l’archi JEE Une vue d’ensemble des design de Sun DP Les design pattern Quizz Petit test à chaud !! MVC Business Delegate Service Locator Ou comment voir si on a suivi ^^ Transfert Object Intercepting Filter Front Controller
  3. 3. •Achitecture n-tiers
  4. 4. •MVC POJO Model La base… Requête d’état • Représente les données de l'appli • Répond aux requêtes de la vue • Notifie la vue des changements Changement d’état Notifications de changement Servlet Controller JSP View • Représentation du modèle • Interface avec laquelle l'utilisateur interagit • Reçoit les actions de l'utilisateur Choix de la vue Actions utilisateurs • Gère l'interface entre le modèle et le client •Lie les actions utilisateurs à la mise à jour du modèle • Sélectionne la vue (réponse) • Un pour chaque fonctionnalité
  5. 5. •MVC, dans une appli web « Réelle » Ou comment gérer le code dupliqué… Détail compte Identification Controller Controller Controller Controller Model Model Model Model … … JSP JSP JSP JSP • • • • • Récupère les paramètres de la request Valide les paramètres Récupère le Modèle qui nous intéresse Place le Modèle dans la request Invoque la vue
  6. 6. •Front controller Classes de validation In the real life ^^ Action Servlet FormBean Front Controller Classes d’ actions Request Config XML Strutsconfig.xml <xml> <validate> </validate> <mapping> </mapping> </xml> Action Object JSP Model
  7. 7. •MVC Quand on est que sur une VM Oui mais voilà, et quand le modèle n’est pas sur le même serveur ???
  8. 8. • Les outils du « remote » Ou les outils pour comprendre les pattern « remote » JNDI • Java Naming and Directory Interface • Le but c’est de rajouter un élément à l’architecture pour centraliser la location des objets (un annuaire) • Si on veut partager un objet on l’enregistre sur l’annuaire • Si on en cherche un, on regarde dans l’annuaire RMI • Remote Method Invocation • Le but est de récupérer un objet au travers du réseau
  9. 9. • MVC avec Model « remote » Un premier jet Oui mais voilà, des fois on est « remote » Et des fois pas 
  10. 10. •Le pattern Business Delegate Et cette fois Ou comment cacher la complexité du JNDI et RMI il est où le code dupliqué? • Réduit le couplage entre les couches présentation et Business • Encapsule la recherche dans l’annuaire • Proxy pour le client
  11. 11. • Le Pattern Service Locator Ou comment éviter de dupliquer le code du « lookup »
  12. 12. • MVC avec Model « remote » Deuxième jet Où est le problème ? Ca c’est 1000 fois plus lent qu’un appel local !!
  13. 13. • Le pattern DTO (Data Transfert Object) Ou à quoi sert la sérialisation… try { TransfertObject o = serviceStub.serviceMethod(param); } catch (RemoteException e) { throw new ApplicativeException(); }
  14. 14. • Le Pattern Intercepting Filter Ou comment rajouter de l’information partout sans tout changer… • • • • Peut intercepter et/ou modifier la requête avant qu’elle arrive à la servlet Peut intercepter et/ou modifier la réponse avant qu’elle soit retournée au client Déclarée dans le web.xml Les filtres peuvent être chaîné

×