190 likes | 329 Views
Projet JEE avancé . Forum JEE: framework STRUTS 1 et iBATIS. Chef de projet : Mehdi Chekkal. Equipe : Ayoub Ait Hadj Brahim, Kévin Firmin, Philippe Phak , Kévin Tassan Toffola. Plan de présentation. I. Présentation du Projet : Conception Gestion du groupe Intégration
E N D
Projet JEE avancé Forum JEE:framework STRUTS 1 et iBATIS Chef de projet : Mehdi Chekkal Equipe : Ayoub Ait Hadj Brahim, Kévin Firmin, Philippe Phak, Kévin TassanToffola
Plan de présentation • I. Présentation du Projet : • Conception • Gestion du groupe • Intégration • Problèmes rencontrés • II. Présentation d'iBatis : • Fonctionnement et mise en place • Comparaison avec Hibernate • III. Présentation de Struts 1 : • Fonctionnement et mise en place • Comparaison avec d’autres Framework (Stripes, Struts 2) • IV. Présentation du Forum : • Conception • Démonstration
I. Présentation du projet • Conception • Objectif : Remplir le cahier des charges et aller plus loin. • Pré-requis : Formation sur les FrameWorks (Struts V1 & iBatis). • Obstacle : Le temps. • Gestion du groupe • Struts & Design : Gestion des formulaires et de l’ergonomie. • Ibatis & BDD : Création de la BDD (Oracle XE) et méthodes d’accès. • Intégration • Outil : Mise en place d’un SVN pour l’intégration en continue. • BDD locale : Diffusion du script de création à chaque mise à jour. • Problèmes rencontrés • Communication : Interprétations différentes. • Organisation : Gestion des autres projets.
II. Présentation d’iBATIS • Présentation • Projet ibatis démarré en 2001 par Clinton Begin • Secrets : outil d’encryptage de données personnelles • JPetShop : Application J2EE • Frameworks DAO & SQLMaps • Intégration au projet Apache • Disponible pour : • Java • .Net • Ruby
II. Présentation d’iBATIS • Fonctionnement
II. Présentation d’iBATIS • SQLMaps • Mapper des JavaBeans sur des appels SQL • Framework abordable • JavaBean • XML • SQL
II. Présentation d’iBATIS • DAO • Un patron de conception • Utilisé dans Ibatis • Regroupe les données persistantes dans des classes à part • Permet de changer le mode de stockage sans remettre en cause le reste de l’application.
II. Présentation d’iBATIS • Installation • Le fichier IbatisConfig.xml • Création des SqlMaps (xml) • Création des Beans
II. Présentation d’iBATIS • Ibator • Plugin Eclipse • Fichier IbatorConfig.xml • Mappingxml pour chaqu’une des tables • Classes Java (bean) correspondant aux tables • Classes Exemple et DAO
Ibatis vs Hibernate • Avantages et inconvénients d’ Ibatis : • Plus long à configurer et utiliser • Flexible (définition des requêtes) • Dépend de la base de données • Peu de documentation • Avantages et inconvénients d’Hibernate: • Plus rapide à utiliser • Indépendant de la base de données
Struts 1 • Présentation • But • Créé par Craig McClanahan et donné à la fondation Apache en mai 2000. • Mise en œuvre du Design Pattern Front Controller • Framework MVC : avantages
Struts 1 • Fonctionnement • Fichier struts-config.xml • Offre la description de deux éléments principaux • Les objets de type ActionForm • Requêtes avec paramètres (formulaires) • Gèrent et stockent ces paramètres • Description dans le struts-config : <form-beans> <form-beanname="PosterMessageForm" type="forum.PosterMessageForm" /></form-beans>
Struts 1 • Instanciation automatisée • Composés des attributs correspondant au formulaire + getter / setter • Validation des données envoyées • Méthode validate et ActionErrors • Ajout d’une erreur • Fichier properties • <html:errors/>
Struts 1 • Les objet de type Action • ActionForwardexecute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) • Description dans le struts-config : <action-mappings> <action path="/PosterMessage" type="forum.PosterMessageAction" name="PosterMessageForm" scope="request" validate="true" input="/indexMessage.jsp"> <forwardname="show_results" path="/resultMessages.jsp" /> </action><action-mappings> • Requêtes sans paramètres : type = "org.apache.struts.actions.ForwardAction"
Struts 1 • Gestion des langues • 1 fichier properties par langue • Exemple : • MessageResources.properties(fichier par défaut) : error.promoField.notValid=Invalid promo entered. • MessageResources_fr.properties(fichier pour la locale_fr) : error.promoField.notValid=La promo entrée est invalide. • <message-resourcesparameter="MessageResources" /> • <bean:messagekey="error.promoField.notValid"/> • Automatisée
Struts • Caractéristiques de Struts: • Utilisation et mise en place : • Un Action et un ActionForm • Un fichier de configurations XML • Validation : • Non couplée à la conversion de type • Customisée difficile à mettre en place (édition du fichier validator.xml) • Conclusion : • Bonne documentation • Fastidieux à utiliser au début
Struts 1 vs Stripes • Caractéristiques de Stripes: • Utilisation et mise en place : • Un actionBean • Un fichier de configurations XML : web.xml • Validation : • Couplée à la conversion de type • Customisée simple à mettre en place avec des annotations • Conclusion : • Beaucoup plus simple à mettre en œuvre • Redirection moins bien gérée
Struts 1 vs Struts 2 • Caractéristiques de Struts 2 : • Utilisation et mise en place : • Un action • Un fichier de configurations XML • Validation : • Couplée à la conversion de type • Customisée simple à mettre en place avec des annotations ou avec le fichier validator.xml • Conclusion : • Plus simple à mettre en œuvre • Moins bonne documentation
IV. Présentation du Forum • Conception • La base de données • Le MVC • Démonstration