3. Hibernate
Qu’est-ce qu’Hibernate ?
Objectifs d’Hibernate
Avantages et inconvénients
Configuration d’Hibernate
LIU Sizhao LUO Xin MALICK MANDENGUE Serge 3
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.
http://www.hibernate.org/
LIU Sizhao LUO Xin MALICK MANDENGUE Serge 4
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 5
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 6
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 7
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 8
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:
http://java.sun.com/javaee/javaserverfaces
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 9
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 10
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 11
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 12
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 13
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 14
15. Cas d’étude
1. Sujet
2. Création de la base de données
3. Configuration des frameworks
4. Gestion des classes
5. Résultat final
LIU Sizhao LUO Xin MALICK MANDENGUE Serge 15
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 16
17. Sujet : Uses cases
LIU Sizhao LUO Xin MALICK MANDENGUE Serge 17
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 18