La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Présentation de frameworks J2EE

Présentations similaires


Présentation au sujet: "Présentation de frameworks J2EE"— Transcription de la présentation:

1 Présentation de frameworks J2EE
Hibernate et JSF LIU Sizhao LUO Xin MALICK MANDENGUE Serge

2 Sommaire Hibernate (Persistance) JSF (MVC) Cas d’étude
LIU Sizhao LUO Xin MALICK MANDENGUE Serge

3 Hibernate Qu’est-ce qu’Hibernate ? Objectifs d’Hibernate
Avantages et inconvénients Configuration d’Hibernate LIU Sizhao LUO Xin MALICK MANDENGUE Serge

4 Qu’est-ce qu’Hibernate ?
C’est un logiciel, écrit en java, qui permet de faire le mapping entre Objets Java et Objets stockés en base relationnelle en assurant la persistance. S’occupe du transfert des classes Java dans les tables de la BDD et des types de données dans les types de données SQL. LIU Sizhao LUO Xin MALICK MANDENGUE Serge

5 Objectifs d’Hibernate
Réduire le temps de développement de l'application en éliminant une grande partie du code SQL à écrire pour interagir avec la base de données et en encapsulant le code SQL résiduel. Les développeurs manipulent les classes dont les données doivent être persistantes comme des classes Java normales. Seules une initialisation correcte d‘Hibernate doit être effectuée, et quelques règles respectées lors de l'écriture et de la manipulation des classes persistantes. LIU Sizhao LUO Xin MALICK MANDENGUE Serge

6 Avantages et inconvénients
Les objets métiers sont plus faciles à manipuler Peu de dépendance envers une base de données précise Théoriquement, il n'y a que le fichier de configuration à changer si on passe d'une base de données comme Oracle vers PostgreSQL Le seul inconvénient que l'on peut trouver à Hibernate est qu'il nécessite d'apprendre à l'utiliser LIU Sizhao LUO Xin MALICK MANDENGUE Serge

7 Configuration d’Hibernate
Hibernate permet de manipuler facilement les objets persistants mais demande une configuration rigoureuse. Nous verrons ici deux façons de configurer l'accès à la base de données. Ces fichiers définissent les propriétés de la connexion. Il s'agit des fichiers hibernate.properties et hibernate.cfg.xml. Nous utilisons ce fichier de la configuration pour configurer les informations du BDD et les informations du mapping. LIU Sizhao LUO Xin MALICK MANDENGUE Serge

8 JSF (Java Server Faces)
Qu’est-ce que JSF ? Objectifs de JSF Meilleur que Struts Qu’est-ce qu’une application JSF ? Configuration d’une application JSF LIU Sizhao LUO Xin MALICK MANDENGUE Serge

9 Qu’est-ce que JSF ? Framework de développement d’application web en Java permettant de respecter le modèle d’architecture MVC et basé sur des composants côté présentation Site de référence: 2 implémentations JSF (Sun, Apache) Version 1.1 associée à J2EE 1.4 Version 1.2 associée à Java EE 5 LIU Sizhao LUO Xin MALICK MANDENGUE Serge

10 Objectifs de JSF une séparation de la couche présentation des autres couches (MVC) un mapping entre l’HTML et l’objet un ensemble de composants riches et réutilisables une liaison simple entre les actions côté client de l’utilisateur (event listener) et le code Java côté serveur JSF peut être utilisé pour générer autre chose que du HTML (XUL, XML, WML, …) LIU Sizhao LUO Xin MALICK MANDENGUE Serge

11 Meilleur que Struts … Composants extensibles – JSF fournit plein de composants fondamentaux pour développer des nouveaux composants et on peut les participer aux autres Managed-Beans (Dependency Injection) – JSF peut créer des managed beans variés POJO Action Méthods – les actions du Struts sont attachées avec les API du Struts, mais les actions du JSF peuvent réaliser dans POJO JSF est le critère – Struts est un produit opensource, mais JSF est le critère LIU Sizhao LUO Xin MALICK MANDENGUE Serge

12 Comment ça marche ? L’interface utilisateur construite dans la page JSP est générée à l’aide de la technologie JSF (résultat myUI) Elle fonctionne sur le serveur et le rendu est retourné au client. LIU Sizhao LUO Xin MALICK MANDENGUE Serge

13 Configuration d’une application JSF
Configurer le fichier web.xml (javax.faces.webapp.FacesServlet) Spécifier le nom et le chemin du fichier de configuration (javax.faces.application.CONFIG_FILES) Spécifie où l’état de l’application doit être sauvé (javax.faces.STATE_SAVING_METHOD) Valider ou pas les fichiers XML (com.sun.faces.validateXml) LIU Sizhao LUO Xin MALICK MANDENGUE Serge

14 Configuration d’une application JSF
Indiquer si les objets importants doivent être crées au démarrage de l‘application(com.sun.faces.verifyObjects) LIU Sizhao LUO Xin MALICK MANDENGUE Serge

15 Cas d’étude Sujet Création de la base de données
Configuration des frameworks Gestion des classes Résultat final LIU Sizhao LUO Xin MALICK MANDENGUE Serge

16 Sujet Logiciel de gestion de contacts en ligne
(nom, prénom, num tél, mail, …) Cas d’utilisations volontairement simples : concentration sur les technologies à vous d’être originaux sur la réalisation Deux acteurs : l'administrateur qui va gérer la liste des utilisateurs et les mots de passe (ajout, suppression, init mot de passe, stats...) l'utilisateur qui va gérer ses contacts (ajout, suppression, affichage, recherche, nb contacts...) LIU Sizhao LUO Xin MALICK MANDENGUE Serge

17 Sujet : Uses cases LIU Sizhao LUO Xin MALICK MANDENGUE Serge

18 Création de la base de données
2 tables: Contacts et Utilisateurs Contacts (Id, Nom, Prénom, Adresse, Tel, Mail, Id_user) Utilisateurs (Id, Nom, motdepasse, statut) LIU Sizhao LUO Xin MALICK MANDENGUE Serge

19 Configurations: Hibernate.cfg.xml
<hibernate-configuration> <session-factory > <!-- local connection properties --> <property name="hibernate.connection.url">jdbc:mysql://localhost/test</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password"></property> <!-- property name="hibernate.connection.pool_size"></property --> <!-- dialect for MySQL --> <property name="current_session_context_class">thread</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.show_sql">false</property> <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property> <mapping resource="Utilisateurs.hbm.xml" /> <mapping resource="Contacts.hbm.xml" /> </session-factory> </hibernate-configuration> LIU Sizhao LUO Xin MALICK MANDENGUE Serge

20 Configurations: Contacts.hbm.xml
<hibernate-mapping package="CasEtude"> <class name="Contacts" table="contacts" > <meta attribute="sync-DAO">false</meta> <id name="Id" type="integer" column="id" <generator class="native"/> </id> <property name="Nom" column="nom" type="string" not-null="true" length="10" /> …… </class> </hibernate-mapping> LIU Sizhao LUO Xin MALICK MANDENGUE Serge

21 Configurations: Utilisateurs.hbm.xml
<hibernate-mapping package="CasEtude"> <class name="Utilisateurs" table="utilisateurs" > <meta attribute="sync-DAO">false</meta> <id name="Id" type="integer" column="id" <generator class="native"/> </id> </class> </hibernate-mapping> LIU Sizhao LUO Xin MALICK MANDENGUE Serge

22 Classes Java 1 fichier hibernateutil.java Pour Contact et Utilisateurs
1 fichier xxx.java Mapping du tableau 1 fichier xxxAction.java Classe fonctionnelle 1 fichier xxxBean.java Managed Bean LIU Sizhao LUO Xin MALICK MANDENGUE Serge

23 Fichier HibernateUtil.java
public class HibernateUtil { private static final SessionFactory sessionFactory; static { try { // Crée l’objet SessionFactory à partir de hibernate.cfg.xml sessionFactory = new Configuration().configure().buildSessionFactory(); } catch (HibernateException ex) { System.err.println("Initial SessionFactory creation failed." + ex); throw new HibernateException(ex); } public static SessionFactory getSessionFactory() { return sessionFactory; } LIU Sizhao LUO Xin MALICK MANDENGUE Serge

24 Page de connexion LIU Sizhao LUO Xin MALICK MANDENGUE Serge

25 Côté Administrateur LIU Sizhao LUO Xin MALICK MANDENGUE Serge

26 Administration: Ajout d’un contact
LIU Sizhao LUO Xin MALICK MANDENGUE Serge

27 Côté Utilisateur LIU Sizhao LUO Xin MALICK MANDENGUE Serge

28 Utilisateur: Ajout d’un contact
LIU Sizhao LUO Xin MALICK MANDENGUE Serge

29 Fin de la présentation Merci
Fin de la présentation Merci! Auteurs LIU Sizhao LUO Xin MALICK MANDENGUE Serge LIU Sizhao LUO Xin MALICK MANDENGUE Serge


Télécharger ppt "Présentation de frameworks J2EE"

Présentations similaires


Annonces Google