150 likes | 300 Views
Projet JAVA EE Approfondi. Etudes des frameworks JSF & Ibatis – Réalisation d’un forum. ALBE Aurélien – AOUAD Hind – CHEA Sann -Rémy – FERREZ Rémi – HEBERT Quentin – LEBEL Gwendal. Plan de la présentation. Objectifs et organisation du projet Rappel des objectifs du projet
E N D
Projet JAVA EE Approfondi Etudes des frameworks JSF & Ibatis – Réalisation d’un forum ALBE Aurélien – AOUAD Hind – CHEA Sann-Rémy – FERREZ Rémi – HEBERT Quentin – LEBEL Gwendal
Plan de la présentation • Objectifs et organisation du projet • Rappel des objectifs du projet • Organisation du travail et phase de développement • Respects des délais • Difficultés rencontrées • Framework de persistance : Ibatis • Présentation du framework • Comparaison avec Hibernate • Framework MVC : JSF • Présentation du framework • Comparaison avec Struts • Démonstration
Objectifs et organisation • Rappel des objectifs du projet • Familiarisation avec deux autres frameworks utilisés en entreprise • Réalisation d’un forum simple, multi sujets, messages, utilisateurs (simple et administrateur) • Organisation du travail • Répartition des tâches en phase de conception et études de frameworks (Modélisation UML, MCD, études de l’installation des frameworks) • Répartition des tâches pour la phase de développement/test • Mise en place d’un SVN (SourceForge) et d’un Googlegroup • Respects du planning • Respecté en phase de conception et en début de développement • Chevauchement de la phase de tests avec la fin du développement • Difficultés rencontrées • Appréhension difficiles des frameworks • Choix des limites de réalisation (mp, stats, épingler des sujets, ban, …)
Framework de persistance de données • Java - .NET - Ruby on Rails • Fichiers de configuration XML / .properties • SQL Maps • Mapping XML • Relation BDD Objet • DAO (Data Access Object) • Accès simple à la BDD • Implémentation des requêtes SQL iBATIS SELECT PER_ID as id, PER_FIRST_NAME as firstName, PER_LAST_NAME as lastName, PER_BIRTH_DATE as birthDate, PER_WEIGHT_KG as weightInKilograms, PER_HEIGHT_M as heightInMeters FROM PERSON WHERE PER_ID = #value#
Plugin pour Eclipse • Paramétrage par fichier XML • Génération automatique de classes Java • Beans • Examples • Critères • DAO • Nombreuses requêtes implémentées • Utilisation des examples • Utilisation des clés primaires Ibator
Ibatis et Hibernate Hibernate: • Plus complet • Indépendant de la base de données • Hibernate permet la création d’un modèle d’objet ( en Java ) par l’utilisateur et crée la base de donnée automatiquement. Ibatis: • Plus simple à utiliser • Flexible (définition des requêtes) • Dépend de la base de données • Peu de documentation • A la différence d'Hibernate, l’utilisateur d’iBATIS reste maître du SQL généré. Il permet juste de mapper des requêtes SQL sur des objet en se basant sur une Map.
JSF 2.0 • Java Server Faces • Framework d'interface utilisateur pour les applications web • Basé sur JSP et Servlet • MVC : • Les composants JSF font partie de la vue • La partie modèle est représentée par des JavaBeans. • Le rôle du contrôleur est joué par la Servlet de JSF. (managed-bean)
JSF 2.0 Fichier JSF
JSF 2.0 Bean Managé (faces-config.xml) <faces-config> <managed-bean> <managed-bean-name>utilisateur</managed-bean-name> <managed-bean-class>model.Utilisateur</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> </faces-config>
JSF 2.0 Règles de navigation (faces-config.xml) <faces-config> <navigation-rule> <from-view-id>/formulaire.jsp</from-view-id> <navigation-case> <from-outcome>Ok</from-outcome> <to-view-id>/ok.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>Erreur</from-outcome> <to-view-id>/erreur.jsp</to-view-id> </navigation-case> </navigation-rule> </faces-config>
Comparaison JSF-Struts • Point commun: • Framework MVC • JSF est orienté « View Controller » • Struts est orienté « Action Controller » • Complémentaire JSF a profité de la maturité de Struts et s’en est inspiré.
Comparaison JSF-Struts • Points forts de Struts: • Tag lib pour les vues • Paramétrage par des fichiers XML (Emplacement des beans, mapping,…) • Pas de servlet mais des Action et des Action Form (Formulaire facilité avec vérification des champs) • Paramétrage des langues (messageRessource.properties) • Points faibles de Struts: • Installation et paramétrage difficile • Erreur difficile à trouver (Car séparation des fichiers et des action à effectuer) • Points forts de JSF: • Utilise les managed bean • Contrôle de formulaire facilité • Nombreux composants graphiques réutilisable • Facilite et standardise le développement d’applications web • Mapping HTML/Objet • Configuration de la navigation entre les pages • Point faible JSF: • Maturité: technologie récente qui nécessite l'écriture de beaucoup de code • Manque de composants évolués en standard: La plupart ont une correspondance directe avec l'HTML • Dépendance des JSTL/EL