TP N 4 Création d un projet Web Avec EJB JSF et Glassfish



Documents pareils
1. Installation d'un serveur d'application JBoss:

Création d une application JEE

Première coupe : Introduction à la plateforme Java EE JAVA JAVA. Introduction à la plateforme Java EE. Introduction à la plateforme Java EE

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Compte Rendu d intégration d application

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Refonte front-office / back-office - Architecture & Conception -

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Mise en œuvre des serveurs d application

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

EXA1415 : Annotations

Création d un service web avec NetBeans 5.5 et SJAS 9

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Auto-évaluation Aperçu de l architecture Java EE

Installer GlassFish v3

Présentation du cours. Sécurité dans Java EE. Plan (1/2) Plan (2/2) Généralités sur la sécurité

Projet Java EE Approfondi

BIRT (Business Intelligence and Reporting Tools)

Application web de gestion de comptes en banques

Tutoriel d installation de Hibernate avec Eclipse

Java pour le Web. Cours Java - F. Michel

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Etude de cas : PGE JEE V2

Cedric Dumoulin (C) The Java EE 7 Tutorial

Pratique et administration des systèmes

EJB. Karim Bouzoubaa Issam Kabbaj

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Manuel BlueFolder ADMINISTRATION

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI

Formation Esup-Commons V2

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

WebSSO, synchronisation et contrôle des accès via LDAP

INTERCONNEXION ENT / BCDI / E - SIDOC

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Terminal Server RemoteAPP pour Windows Server 2008

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Développement d un réseau social modulaire

INTERCONNEXION ENT / BCDI / E - SIDOC

Introduction à Eclipse

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Cours en ligne Développement Java pour le web

Module : programmation site Web dynamique Naviguer entre les pages via site map

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

SQL Server Installation Center et SQL Server Management Studio

Warren PAULUS. Android SDK et Android x86

Plan. Department of Informatics

TP3-2 CONSTRUISEZ VOTRE PREMIER SERVICE AZURE

Web service AREA Manuel d installation et d utilisation du mode déconnecté. Version du 18 mars 2011

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Rapport de projet de fin d études

Installer Enterprise Miner 5.1 en SAS environnement Windows

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Planifier les rapports d

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Utilisation du BDE pour la maintenance des fichiers DBF de l'application TopoCad:

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

Rokia Missaoui - UQO. INF4163 Hiver 2008

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

Applications orientées données

Utiliser un client de messagerie

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Créer une base de données vidéo sans programmation (avec Drupal)

Menu Fédérateur. Procédure de réinstallation du logiciel EIC Menu Fédérateur d un ancien poste vers un nouveau poste

Java Naming and Directory Interface

2 Chapitre 1 Introduction

TP1 : Initiation à Java et Eclipse

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

CONFIGURATION DE LA RECEPTION DES MAILS EN POPS.

CREATION WEB DYNAMIQUE

Olivier Mondet

Universal Robots. Fiche Méthode : Installation du simulateur Polyscope

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

RMI le langage Java XII-1 JMF

Mysql avec EasyPhp. 1 er mars 2006

Integration à un domaine AD SOMMAIRE

OpenPaaS Le réseau social d'entreprise

Modélisation et Gestion des bases de données avec mysql workbench

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Atelier La notion de session utilisateur sous Linux

Active Directory est un service d'annuaire utilisé pour stocker des informations relatives aux ressources réseau sur un domaine.

TechSoftware Présentations

La gestion de la persistance avec Hibernate. Hibernate et la gestion de persistance. La gestion de la persistance (1/2) Introduction

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

Construire des plug-ins pour SAS Management Console SAS 9.1

Les processus métiers : concepts, modèles et systèmes

Installation et configuration du logiciel BauBit

JOnAS 5. Serveur d application d

Data Tier Application avec SQL Server 2008 R2

Procédure d installation Smart Map 3

Serveur d'archivage 2007 Installation et utilisation de la BD exist

TAGREROUT Seyf Allah TMRIM

Bases Java - Eclipse / Netbeans

Alfstore workflow framework Spécification technique

Transcription:

TP N 4 Création d un projet Web Avec EJB JSF et Glassfish I. Les objectifs :... 1 II. L architecture de l atelier... 1 III. Rappel... 1 IV. L environnement de développement... 2 V. Création d un projet EJB... 3 a. Création du projet... 3 b. Création des «Entity classes» à partir de la base de données... 4 c. Création des «session classes»... 5 d. Création des Managed Beans... 7 e. Création des pages Web... 8 VI. Test de l application web... 9 VII. C est à vous... 10 I. Les objectifs : Compréhension des architectures EJB ainsi que le modèle MVC. Création d une application Web. Création d une base de données avec WAMP et la réalisation de la connexion avec JPA. Création d interfaces Web assurant l affichage des données relatifs aux employeurs. II. L architecture de l atelier A rendre dans le compte rendu en évaluation du TP. III. Rappel Le standard EJB est une architecture de composants pour des composants serveur écrits en java. Il est adopté par l'industrie. "Train once, code anywhere" et facilement portable. EJB signifie deux choses : Une spécification et un ensemble d'interfaces et se divise en trois types : Page 1

Session Beans : -Modélisent un traitement (business process) -Correspondent à des verbes, à des actions -Les actions impliquent des calculs, des accès à une base de données, consulter un service externe (appel téléphonique, etc.) Entity beans : -Modélisent des données -Correspondent à des noms -Ce sont des objets java qui cachent des données d'une base de données -Ce sont des objets persistants -Mapping base de donnée relationnelle/objet facilité par EJB 2.0 Message-Driven Beans -Introduits à partir de la norme EJB 2.0, nous sommes aujourd hui en 3.0 -Similaire aux Session bean : représentent des verbes ou des actions, -On les invoque en leur envoyant des messages. IV. L environnement de développement L IDE Netbeans WAMP Server Le serveur d application Glassfish Page 2

V. Création d un projet EJB a. Création du projet Vous allez essayer au cours de ce TP de créer une base de données avec WAMP et de faire une connexion avec l IDE Netbeans. La table que nous allons traiter est une table «employeur» qui contient les champs suivants : idemployeur : int, nom : varchar, prenom : varchar. Avec idemployeur une clé primaire (Pensez à faire une table authentification qui vous permettra de traiter la partie authentification par la suite. Cette table contient les champs suivant «login : Sting, Password : int, Type : int»). Vous allez utiliser Entreprise Java Beans (EJB) afin d assurer la séparation entre les couches et de faire apparaitre le modèle MVC. 1. Commencez par créer une BD nommée test contenant les tables employeur et utilisateur sous le WAMP Server et faites apparaitre cette base de données sous l IDE Netbeans. 2. Créez un nouveau projet par le menu File > New Project-> java EE -> Entreprise Application. Vous nommerez ce projet LFI2.TP4 et vous finirez par cliquer sur Ok. 3. En cliquant sur «Next», vous allez sélectionner Glassfish Server comme serveur d application sur lequel l application va être déployée et Java EE 6 Comme version de Java EE. Page 3

4. IDE Netbeans va créer trois projets nommés LFI2.TP4 (Enterprise Application Project), LFI2.TP4-ejb (EJB Project), LFI2.TP4-war (Web Project). b. Création des «Entity classes» à partir de la base de données Avant toute chose, nous devons d'abord créer les Entity classes et vu que les Session classes sont responsables de la manipulation des données, ils seront créés dans le projet EJB. 1. Créez un nouveau package nommé «entities» 2. Dans la fenêtre Projects, cliquez-droit sur le package crée et sélectionnez "New> Entity Classes from Database". 3. Ajoutez une nouvelle source de données 4. Choisissez la connexion que vous venez de créer et ajouter un nom à votre JNDI Page 4

5. Ajoutez toutes les tables disponibles comme suit : 6. La classe que vous allez créer sera nommée «Employeur» et le code de cette dernière sera généré automatiquement. Cette classe est un entity EJB permettant de modéliser une donnée persistance pour être utilisée par le session bean. Le fichier «persistence.xml» est aussi créé automatiquement afin de contenir les informations liées à la source de données. c. Création des «session classes» Les sessions beans sont présents sous le projet EJB. Pour pouvoir les manipuler vous allez suivre les étapes suivantes : 1. Créez le nouveau package que vous nommerez «session» Page 5

2. Créer le «session bean» que vous nommerez «EmployerManager» Cette classe contiendra le code suivant : package Session; import entities.employeur; import java.util.list; import javax.ejb.stateless; import javax.ejb.localbean; import javax.persistence.entitymanager; import javax.persistence.persistencecontext; import javax.persistence.query; /** * * @author Dell */ @Stateless @LocalBean public class EmployerManager { // Add business logic below. (Right-click in editor and choose // "Insert Code > Add Business Method") @PersistenceContext(unitName = "LFI2.TP4-ejbPU") private EntityManager em; public List<Employeur> getallemployers() { Query query = em.createnamedquery("employeur.findall"); return query.getresultlist(); Page 6

public void persist(object object) { em.persist(object); Remarque : Pour créer @PersistenceContext, cliquez droit sur la classe-> insert code-> use Entity Manager. d. Création des Managed Beans 1. Créez sous le projet LFI2.TP4-war un package nommé ManagedBeans 2. Cliquez droit sur le package ManagedBeans-> JSF Managed beans -> EmployeurMBean. 3. Pensez à modifier le scope en le mettant session : Le code que contiendra cette classe est le suivant : package ManagedBeans; import Session.EmployerManager; import entities.employeur; Page 7

import java.io.serializable; import java.util.list; import javax.ejb.ejb; import javax.faces.bean.managedbean; import javax.faces.bean.sessionscoped; /** * * @author Dell */ @ManagedBean @SessionScoped public class EmployeurMBean implements Serializable { @EJB private EmployerManager employermanager; private Employeur employeur; /** * Creates a new instance of EmployeurMBean */ public EmployeurMBean() { public List<Employeur> getemployeurs() { return employermanager.getallemployers(); public Employeur getdetails() { return employeur; e. Création des pages Web 1. Nommez cette page test, elle aura comme extension.xhtml et contiendra le code xml suivant : Page 8

<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <h:head> <title>facelet Title</title> </h:head> <h:body> <f:view> <h:form> <h1><h:outputtext value="list"/></h1> <h:datatable value="#{employeurmbean.employeurs" var="item"> <h:column> <f:facet name="header"> <h:outputtext value="idemployeur"/> </f:facet> <h:outputtext value="#{item.idemployeur"/> </h:column> <h:column> <f:facet name="header"> <h:outputtext value="nom"/> </f:facet> <h:outputtext value="#{item.nom"/> </h:column> <h:column> <f:facet name="header"> <h:outputtext value="prenom"/> </f:facet> <h:outputtext value="#{item.prenom"/> </h:column> </h:datatable> </h:form> </f:view> </h:body> </html> VI. Test de l application web Avant de tester l application, allez vers Web Pages -> WEB-INF-> web.xml et faites les modifications suivantes pour que la première page qui s ouvre lors de l exécution soit test.xhtml : Page 9

<welcome-file-list> <welcome-file>faces/test.xhtml</welcome-file> </welcome-file-list> Cliquez droit sur le projet Entreprise Application -> run. Ceci déclenchera automatiquement le déploiement du projet sous Glassfish. La page web (JSF) s exécutera au niveau du browser pour afficher la liste des employés VII. C est à vous 1. Quels sont les éléments encapsulés dans la classe «Employeur»? 2. Ou est-ce que le modèle MVC apparait dans ce que vous venez d implémenter? 3. Comment est assurée la communication entre ces classes? 4. Expliquez d avantage les fichiers ayant comme extension.xhtml. 5. Illustrez par un schéma la communication entre les classes. Page 10