Présentation de frameworks J2EE

Slides:



Advertisements
Présentations similaires
1 1 Projet doption Réalité Virtuelle Simulation dun habitat domotisé Florent Renault Xiaoyu Gao Mercredi 27 mai 2009.
Advertisements

CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
Présentation du Stage en Entreprise
JEE 5 - JSF F.Pfister 2 institut eerie Les technologies du web Servlets JSP MVC Model 1 : servlets + JSP MVC Model.
Département Édition - Intégration SEMINAIRE SOA Migration du canal Esup MonDossierWeb Olivier Ziller / Charlie Dubois Université Nancy 2 16 octobre 2007.
Java EE – Frameworks Cas d’étude
Serveurs web pour JSP et Servlets
1 V-Ingénierie… La compétence au service de lexigence… vous présente.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
JXDVDTEK – Une DVDthèque en Java et XML
Guillaume KRUMULA présente Exposés Système et Réseaux IR3 Mardi 5 Février 2008.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
Plan de formation Chapitre 1 : Présentation de SAP
TP 3-4 BD21.
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Conception d’une application de gestion de fiches études
Présentation des frameworks pour Java EE
Projet JEE approfondi Stripes / Toplink
Gestion de la communication par établissement sur le site ville
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Développement d’applications web
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Forum JEE: framework STRUTS 1 et iBATIS
HIBERNATE Framework de mapping objet-relationnel
Projet .NET : Projet GEn A4RIL
JAVA SERVER FACES (JSF)
pour les applications Web :
Présentation Struts1-JaxB
JAVASERVER FACES Un framework Java pour le développement Web.
Tapestry - Eclipse Link
Principes de persistance dans les applications orienté objet
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
JDBC ou comment manipuler une base de données en Java ?
Les instructions PHP pour l'accès à une base de données MySql
Projet JAVA EE Approfondi
Configuration de Windows Server 2008 Active Directory
Recommandations et procédure d’attribution de DOI
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Développement d’application web
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Projet Génie Logiciel & UML, Bases de Données & Interfaces
29/01/09SpringFramework1 SpringFramework Alice GARCIA Fabien FAGOAGA Option Génie Logiciel 3 ème année ENSEIRB.
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
COURS DE PROGRAMMATION ORIENTEE OBJET :
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
Projet de Master première année 2007 / 2008
Adaptée du cours de Richard Grin
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
2 Développer, tester et déployer un site web avec WebMatrix (RIA101) Christine Dubois 9 février 2011.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
19 Mai 2009 CADOT, ROMON, NOEL, GUILLOUET, MONGENET-LAMAISON.
Xooctory.
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
Outil de gestion des cartes grises
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
Soutenance ProJet Individuel
HIBERNATE Mapping Objet / base de données relationnelle
Chapitre 2 Persistance de données De Hibernate au standard JPA 1.0
& J2EE Approfondi Hibernate Struts 2 & Hibernate
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Struts.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Présentation de frameworks J2EE 1 LIU Sizhao LUO Xin MALICK MANDENGUE Serge.
Transcription de la présentation:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sujet : Uses cases LIU Sizhao LUO Xin MALICK MANDENGUE Serge

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

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

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

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

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

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

Page de connexion LIU Sizhao LUO Xin MALICK MANDENGUE Serge

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

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

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

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

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