«Anatomie» d une application web Servlets JSP

Dimension: px
Commencer à balayer dès la page:

Download "«Anatomie» d une application web Servlets JSP"

Transcription

1 «Anatomie» d une application web Servlets JSP JDBC (utilisation de DataSources) Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 L application histogramme de notes serveur Web Serveur SGBD Quelle architecture pour le tier web? des notes image gif Page HTML avec fréquences des notes dans un tableau Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 2

2 Rappel architecture MVC Bonne séparation des différents composants d une application Web Modularité réutilisation évolutivité Séparation des compétences Modèle Model View Controler (Modèle 2 pour applications JSP) Contrôle Analyse des requêtes de l utilisateur Mise en place des traitements Mise en place de la présentation Modèle Effectue les traitements couche métier Vue Présentation des résultats Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 3 Rappel Architecture MVC Serveur Internet (Serveur HTTP + Serveur Servlet/JSP) Serveur SGBD Requête HTTP Controleur Controleur Construit Modifie 2 Transfert Modèle Modèle (Java (Java Bean) Bean) Driver JDBC Réponse HTTP Vue Vue (JSP) (JSP) 3 Consulte Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 4

3 L application histogramme de notes Controleur Controleur (JavaBean) (JavaBean) Serveur SGBD index.html HistogramImager HistogramImager Tableau.jsp Tableau.jsp (JSP) (JSP) Patrick REIGNIER - Philippe GENOUDUJF Janvier String matiere - int annee - int[] freq = new int[2] + () + String getmatiere() + void setmatiere(string m) + int getannee() + void setannee(int a) + int getfreq(int n) + void setfreq(int n, int freq) Le modèle Modèle (objet métier) : classe qui représente une des entité du domaine qui pourra ensuite être utilisée par les composants Web Par exemple ici une classe qui représente un histogramme de notes POO propriétés constructeur sans paramètres accesseurs (getters) et modifieurs (setters) pour les différentes propriétés que l'on veut exposer + int noteplusfrequente() + double moyenne() + double ecarttype() Des méthodes spécifiques (métier) Pour faciliter son utilisation par les composants web (en particulier pages JSP via EL) le modèle doit être sous la forme d'un java bean Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 6

4 Le modèle Aller chercher dans la Bd les fréquences des notes pour une matière et une année donnée Serveur SGBD POO notes 28 matière="poo" année=28 Construire un tableau des fréquences qui pourra ensuite être consulté par les composants web Année note Matière bd ihm poo ihm bd poo poo noetud Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 7 Le modèle Aller chercher dans la Bd les fréquences des notes pour une matière et une année donnée Serveur SGBD POO notes 28 matière="poo" année=28 ) Faire requête SQL via JDBC select note, count(*) from notes where annee=25 and matiere='poo poo' group by note 2 note count 3 2 Année note Matière bd ihm poo ihm bd poo poo noetud ) Parcourir le ResultSet pour remplir le tableau des fréquences Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 8

5 Le modèle Aller chercher dans la Bd les fréquences des notes pour une matière et une année donnée Serveur SGBD POO notes 28 matière="poo" année=28 code JDBC Où mettre ce code JDBC? dans le code qui utilise le modèle (ici la Servlet)? Année note Matière bd ihm poo ihm bd poo poo noetud dans le modèle? ailleurs? souvent on rajoute une couche DAO(Data Acces Objects) Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 9 Architecture en couches présentation métier Accès aux données Navigateur Servlets Client ClientDAO Pages JSP Compte CompteDAO Serveur d'application Java JDBC SGBD Relationnel Les objets DAO (Data Access Object) isolent tout le code lié à la persistance des données Quand l'application a besoin d'effectuer une opération lié à la persistance elle fait appel à un objet DAO L'interface des objets DAO est indépendante du support de persistance Le reste de l'application utilise les DAO uniquement au travers de leur interface abstraite Par exemple si on change d'implémentation de DAO pour passer d'une base Oracle à des fichiers XML le reste de l'application demeure inchangé. Chaque classe d'objet métier a son propre type de DAO (IClientDAO, ICompteDAO) Le même objet DAO peut être utilisé pour les objets d'une même classe d'objet métier Patrick REIGNIER - Philippe GENOUDUJF Janvier 29

6 L application histogramme de notes l'objet NotesDAO construit l'objet Controleur Controleur NotesDAO NotesDAO (JavaBean) (JavaBean) JDBC Serveur SGBD index.html HistogramImager HistogramImager Tableau.jsp Tableau.jsp (JSP) (JSP) Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 ex : objet DAO pour les notes <interface> INotesDAO void createnote(note n) Note getnote(int numetud, int annee, String matiere) get(int annee, String matiere) Collection<Note> notesetudiant(int numetud) Collection<Note> notesetudiant(int numetud, int annee) Opérations CRUD Create Retreive Collection<Note> notesetudiant(int numetud, String matiere) void updatenote(note n) void deletenote(note n) Update Delete OracleNotesDAO MySQLNotesDAO XMLNotesDAO Des classes d'implémentation mentation Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 2

7 ex : objet DAO pour les notes <interface> INotesDAO void createnote(note n) Note getnote(int numetud, int annee, String matiere) get(int annee, String matiere) Collection<Note> notesetudiant(int numetud) Collection<Note> notesetudiant(int numetud, int annee) Opérations CRUD Create Retreive Collection<Note> notesetudiant(int numetud, String matiere) void updatenote(note n) void deletenote(note n) Update Delete le code d'implémentation de ces méthodes effectue des entrées/sorties (dans notre cas accès à la BD) il peut donc lever des exceptions (SQLException) Que faire de ces exceptions? Les attraper? try { catch (SQLException e) { Les faire remonter? throws SQLException mais si on veut pouvoir changer facilement de DAO il ne faut pas lier les exceptions à un type de DAO particulier Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 3 ex : objet DAO pour les notes création d'une classe d'exception indépendante du type de DAO (DAOException) les méthodes d'implémentation des DAO attrapent les exceptions particulières (par exemple SQLException) et relancent des DAOException les exceptions d'origine sont chaînées aux DAOException public get(int annee, public get(int annee, String matiere) throws DAOException { String matiere) { try { peuvent lancer des fait requête JDBC SQLException création d'un objet parcours du résultat r de la requête pour remplir le tableau des fréquences de l'objet retourne l'objet catch (SQLException ( e) { throw new DAOException(" ("pb recupération ration histogramme", e); Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 4

8 ex : objet DAO pour les notes public get(int annee, String matiere) throws DAOException { try { connexion JDBC à la BD Où est quand créer (ouvrir) la connexion? stmt = conn.createstatement() ; Quand la libérer (fermer)? fait requête JDBC result = stmt.executequery("select note, count(*) from notes" + " where annee = " + annee + " and matiere='" + matiere + "' group by note") ; hist = new (); hist.setmatiere(matiere); création d'un objet Dans le code qui utilise les objets DAO? hist.setannee(annee); moyen ce code doit être le plus while parcours (result.next()) du résultat de { la requête pour remplir le indépendant tableau possible des DAO des note fréquences = result.getint(); de l'objet hist.setfreq(i,result.getint(2)); Dans le code des DAO? rs.close(); stmt.close(); au début et à la fin de chaque méthode nécessitant une connexion? return retourne hist; l'objet connexion attribut de l'objet DAO, accessible depuis toutes les méthodes? catch (SQLException e) { throw new DAOException("pb histogramme ", e); Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 5 ex : objet DAO pour les notes <interface> INotesDAO void createnote(note n) throws DAOException Note getnote(int numetud, int annee, String matiere) throws DAOException get(int annee, String matiere) throws DAOException Collection<Note> notesetudiant(int numetud) throws DAOException Collection<Note> notesetudiant(int numetud, int annee) throws DAOException Collection<Note> notesetudiant(int numetud, Strin matiere) throws DAOException void updatenote(note n) void deletenote(note n) throws DAOException throws DAOException Pour les classes d'implémentation assurant la persistence avec une BD toutes ces méthodes ont besoin d'une connexion JDBC à la base de donnée Où est quand créer (ouvrir) la connexion? Quand la libérer (fermer)? Dans le code qui utilise les objets DAO? moyen ce code doit être le plus indépendant possible des DAO Dans le code des DAO? au début et à la fin de chaque méthode? connexion attribut de l'objet DAO? Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 6

9 try { stmt = conn.createstatement() ; DAO : connexion à la BD Connexion / déconnexion à chaque requête (début et à la fin de chaque méthode) public get(int annee, String matiere) throws DAOException { Connection conn = null; result = stmt.executequery("select note, count(*) from notes" + " where annee = " + annee + " and matiere='" + matiere + "' group by note") ; hist = new (); hist.setmatiere(matiere); hist.setannee(annee); // parcours du résultat de la requete et pour chaque note // on reporte son nombre d'occurences dans le tableau freq while (result.next()) { note = result.getint(); hist.setfreq(i,result.getint(2)); rs.close(); stmt.close(); return hist; catch (SQLException e) { throw new DAOException("pb histogramme ", e); conn = DriverManager.getConnection(url, user, passwd); Opération coûteuse Approche peu efficace finally { if (conn!= null) { try { conn.close(); catch (SQLException e) { throw new DAOException(e); Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 7 public class OracleNotesDAO implements INotesDAO DAO : connexion à la BD Connexion attribut du DAO partagé par toutes les requêtes (méthodes) du DAO Connection conn = null; public OracleNoteDAO() throws DAOException { connexion initialisée dans le constructeur Class.forName("oracle.jdbc.OracleDriver); conn = DriverManager.getConnection(url, user, passwd); public get(int annee, String matiere)throws DAOException { try { stmt = conn.createstatement() ; result = stmt.executequery("select note, count(*) from notes" + " where annee = " + annee + " and matiere='" + matiere + "' group by note") ; hist = new (); hist.setmatiere(matiere); hist.setannee(annee); // parcours du résultat de la requete et pour chaque note // on reporte son nombre d'occurences dans le tableau freq while (result.next()) { note = result.getint(); hist.setfreq(i,result.getint(2)); rs.close(); stmt.close(); return hist; catch (SQLException e) { throw new DAOException("pb histogramme ", e); connexion fermée lorsque l'objet DAO n'est plus utilisé public void finalize() { if (conn!= null) { try { conn.close(); catch (SQLException e) { // que faire???? Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 8

10 DAO : connexion à la BD Connexion attribut du DAO partagé par toutes les requêtes (méthodes) du DAO Nombreux problèmes possibles : Timeout : la connexion peut être fermée automatiquement (par exemple si l'utilisateur a cessé momentanément son activité sans quitter l'application). Passage à l'échelle si pour chaque utilisateur (session) un objet DAO avec une connexion est crée nombre d'utilisateur limité par le nombre de connexions pouvant être ouverte simultanément Risques d'incohérences si même objet DAO donc même objet connexion partagé par plusieurs utilisateurs ne pas oublier que les servlets sont multithreadés : la même instance sert toutes les requêtes Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 9 Rappel : Cycle de vie des Servlets Moteur de servlets Créer un pool de threads Thread Thread Thread Instancier la servlet Servlet Appeler init() initialisation Requête HTTP Affecter une requête à un thread Appeler service() Requête HTTP 2 Affecter une requête à un thread Appeler service() Exécuter le service Réponse HTTP Exécuter le service Réponse HTTP 2 Terminer le pool de threads Appeler destroy() Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 2

11 pb du partage d'une connexion Création d'un thread t pour utilisateur t configure la connexion pour effectuer une transaction t débute d la transaction création d'un thread t2 pour utilisateur 2 t poursuit la transaction t2 configure la connexion pour effectuer une transaction t valide la transaction (la mise à jour des tables est effective) t restitue le mode autocommit t2 débute d la transaction La connexion est en mode autocommit La mise à jour de la table est immédiatement effective! temps t try { con.setautocommit(false); // exécuter les instructions // qui constituent la transaction stmt.executeupdate(); stmt.executeupdate(); // valide la transaction con.commit(); con.setautocommit(true); catch (SQLException e) { con.rollback(); // annule // les opérations de la transaction Une partie du code exécut cuté par la méthode service d'un servlet t2 Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 2 Pool de connexions Utilisation d une liste (cache) de connexions disponibles : Pool de connexions Lors de l accès à la base de données : Demande d une connexion disponible au Pool de connexions évite la création de nouvelles connexions (ce qui est coûteux) Accès à la BD à travers cette connexion Restitution de la connexion au Pool de connexions Au niveau du Pool de connexions gestion de liste des connexions : Création de nouvelles connexions si nécessaire Fermeture des connexions inactives depuis trop longtemps javax.sql package d extension standard de JDBC Pour les applications JEE (Java Entreprise Edition) Inclus en standard dans JSE (Java Standard Edition) depuis version.4 interface javax.sql.datasource pour une source de données gérant un pool de connexions Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 22

12 javax.sql javax.sql package d extension standard de JDBC Pour les applications JEE (Java Entreprise Edition) Inclus en standard dans JSE (Java Standard Edition) depuis version.4 DataSource : Obtention du nom de la base à partir de serveurs de noms plutôt que d avoir le nom de la base de données codé «en dur» dans l application. Utilisation de JNDI (Java Naming and Directory Interface) pour connexion à une base de donnée PooledConnection : support pour gestion d un «pool» de connexion gestion d un cache des connexion ouvertes évite la création de nouvelles connexions (ce qui est coûteux) Patrick REIGNIER - Philippe GENOUDUJF Janvier javax.sql.datasource L'objet DataSource avec pooling de connexions maintient un ensemble de connexions à la BD prêtes à l'emploi (pool ou cache de connexions). DataSource Connection En fait PooledConnection DataSource ds; Connection c = ds.getconnnection(); Quand un code a besoin d'accéder à la base de données, il obtient une connexion en s'adressant à la DataSource Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 24

13 javax.sql.datasource L'objet DataSource avec pooling de connexions maintient un ensemble de connexions à la BD prêtes à l'emploi (pool ou cache de connexions). DataSource Connection En fait PooledConnection DataSource ds; Connection c = ds.getconnnection(); c = c.close(); Quand un code a besoin d'accéder à la base de données, il obtient une connexion en s'adressant à la DataSource. Il conserve la connexion jusqu'à sa fermeture explicite. Patrick REIGNIER - Philippe GENOUDUJF Janvier javax.sql.datasource L'objet DataSource avec pooling de connexions maintient un ensemble de connexions à la BD prêtes à l'emploi (pool ou cache de connexions). DataSource Connection En fait PooledConnection DataSource ds; Connection c = ds.getconnnection(); c = c.close(); Quand un code a besoin d'accéder à la base de données, il obtient une connexion en s'adressant à la DataSource. Il conserve la connexion jusqu'à sa fermeture explicite. Lorsqu'une connexion est "fermée", elle est en fait relâchée et remise dans le pool. Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 26

14 public class OracleNotesDAO implements INotesDAO DAO : connexion à la BD DataSource partagée par toutes les requêtes DataSource ds = null; try { initialisée dans le constructeur du DAO ou par une méthode set public void setdatasource(datasource ds) { this.ds = ds; public get(int annee, String matiere)throws DAOException { Connection conn = null; stmt = conn.createstatement() ; result = stmt.executequery("select note, count(*) from notes" + " where annee = " + annee + " and matiere='" + matiere + "' group by note") ; hist = new (); hist.setmatiere(matiere); hist.setannee(annee); // parcours du résultat de la requete et pour chaque note // on reporte son nombre d'occurences dans le tableau freq while (result.next()) { note = result.getint(); hist.setfreq(i,result.getint(2)); rs.close(); stmt.close(); return hist; catch (SQLException e) { throw new DAOException("pb histogramme ", e); conn = ds.getconnection(); finally { if (conn!= null) { try { conn.close(); catch (SQLException e) { throw new DAOException(e); Patrick REIGNIER - Philippe GENOUDUJF Janvier Définir un pool de connexions avec TomCat javax.sql.datasource = pool de connexions Interface dans javax.sql.datasource Objet DataSource pris en charge par le serveur TomCat org.apache.commons.dbcp.basicdatasource Créé par le serveur Tomcat à partir de paramètres de configuration ressource globale à un contexte (ressource partagée par toutes les sessions d'une même application) description dans le fichier context.xml de l'application ressource globale partagée par tous les contextes description dans le fichier server.xml Mis à disposition des applications par un serveur d objets : on récupère l'objet DataSource créé et géré par le conteneur au travers d'un identificateur (API JNDI (Java Naming Directory Interface)) Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 28

15 Définir un pool de connexions avec Tomcat Définition d'une ressource de type DataSource pour le contexte de l'application dans le fichier de configuration context.xml de l'application Désignation cette ressource dans le fichier de déploiement de l'application dans le fichier web.xml de l'application Installer le pilote JDBC dans le répertoire lib de Tomcat Voir dans la documentation de Tomcat jndi-datasource-examples-howto.html Patrick REIGNIER - Philippe GENOUDUJF Janvier Définir un pool de connexions avec Tomcat Définition d'une ressource de type DataSource pour le contexte de l'application dans le fichier de configuration context.xml de l'application Désignation cette ressource dans le fichier de déploiement de l'application dans le fichier web.xml de l'application Installer le pilote JDBC dans le répertoire lib de Tomcat context.xml <Context path="/histogrammvc"> <Context path="/histogrammvc"> <Resource name="jdbc/notes" <Resource name="jdbc/notes" auth="container" auth="container" type="javax.sql.datasource" type="javax.sql.datasource" maxactive="" Paramétrage du maxactive="" maxidle="3" pool de connexion maxidle="3" maxwait="" maxwait="" username="genoud" username="genoud" password="xxxxxxx" password="xxxxxxx" driverclassname="oracle.jdbc.oracledriver" driverclassname="oracle.jdbc.oracledriver" url="jdbc:oracle:thin:@hopper.e.ujf-grenoble.fr:52:ufrima"/> url="jdbc:oracle:thin:@hopper.e.ujf-grenoble.fr:52:ufrima"/> </Context> </Context> Paramétrage de la connexion JDBC Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 3

16 Définir un pool de connexions avec Tomcat 2 Définition d'une ressource de type DataSource pour le contexte de l'application dans le fichier de configuration context.xml de l'application Désignation cette ressource dans le fichier de déploiement de l'application dans le fichier web.xml de l'application Installer le pilote JDBC dans le répertoire lib de Tomcat web.xml <servlet-mapping> </servlet-mapping> <resource-ref> <res-ref-name>jdbc/notes</res-ref-name> <res-type>javax.sql.datasource</res-type> <res-auth>container</res-auth> </resource-ref> Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 3 Définir un pool de connexions avec Tomcat Définition d'une ressource de type DataSource pour le contexte de l'application dans le fichier de configuration context.xml de l'application Désignation cette ressource dans le fichier de déploiement de l'application dans le fichier web.xml de l'application 3 Installer le pilote JDBC dans le répertoire lib de Tomcat Si vous lancez Tomcat depuis Netbeans et que vous n'avez pas le droit d'écriture dans le répertoire d'installation de Tomcat vous pouvez configurer l'instance de Tomcat que vous utilisez à l'aide des fichiers contenus dans le fichier.netbeans qui se trouve sur votre compte Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 32

17 Définir un pool de connexions avec Tomcat Définition d'une ressource globale partagée par tous les contextes Description dans le fichier de configuration du serveur ($CATALINA_HOME/conf/server.xml) <GlobalNamingResources> <Environment name="simplevalue" type="java.lang.integer" value="3"/> <Resource auth="container" description="user database that can be updated and saved" name="userdatabase" type="org.apache.catalina.userdatabase" pathname="conf/tomcat-users.xml" factory="org.apache.catalina.users.memoryuserdatabasefactory"/> <Resource name="jdbc/test" type="javax.sql.datasource" driverclassname="com.mysql.jdbc.driver" password="xyyyyyyy" maxidle="2" maxwait="5" username="genoud" url="jdbc:mysql://localhost/essai" maxactive="4"/> </GlobalNamingResources> La définition de la DataSource peut se faire par l'intermédiaire de la console d'administration Tomcat Au /2/28 pas disponible avec Tomcat 6. Patrick REIGNIER - Philippe GENOUDUJF Janvier Définir un pool de connexions avec Tomcat Définition d'une ressource globale partagée par tous les contextes 2 Déclaration d'un lien pour chaque contexte qui peut y accéder (fichier context.xmldes applications concernées) context.xml de l'application web.xml de l'application 3 Désignation cette ressource dans le fichier de déploiement (web.xml)de l'application 4 Ne pas oublier d'installer le pilote jdbc dans le répertoire lib de tomcat Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 34

18 Définir un pool de connexions avec Tomcat L'objet DataSource est créé par conteneur (par ex. le serveur Tomcat) à partir des informations de configuration. Ce n'est pas le code applicatif qui instancie cet objet. context.xml <Context path="/histogrammvc"> <Resource name="jdbc/notes" auth="container" type="javax.sql.datasource" maxactive="" maxidle="3" maxwait="" username="genoud" password="xxxxxxx" driverclassname="oracle.jdbc.oracledriver" </Context> Serveur Tomcat Servlet org.apache.commons. dbcp.basicdatasource Servlet Comment le code applicatif accède-t-il à l'objet DataSource géré par le serveur? NotesDAO import javax.naming.* import javax.sql.datasource; DataSource datasource = null; try { Context initialctxt = new InitialContext(); datasource = (DataSource) initialctxt.lookup("java:comp/env/jdbc/notes"); catch (NamingException ne) { Utilisation de l'api JNDI (Java Naming Directory Interface) définie dans le package javax.naming Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 35

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

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

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Accès aux bases de données

Accès aux bases de données 13 Accès aux bases de données Les bases de données fournissent un mécanisme de stockage persistant pour les données d application et dans bien des cas, elles sont essentielles au fonctionnement des applications.

Plus en détail

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)

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) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

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

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives : ntroduction 1/28 2/28 Anne-Cécile Caron Licence MAGE - Bases de Données 2013-2014 Application base de données Pour le développeur : Quel est l environnement? type de client (mode client serveur, intranet,...)

Plus en détail

TP Programmation Java / JDBC / Oracle

TP Programmation Java / JDBC / Oracle TP Programmation Java / JDBC / Oracle 1. Connectivité avec une base de données Oracle au travers de l interface JDBC L interface de programmation (API) JDBC (Java DataBase Connectivity) est une librairie

Plus en détail

Programmation d application Bases de données avec Java

Programmation d application Bases de données avec Java Plan du document Programmation d application Bases de données avec Java INT Problématique slide 3 Correspondance diagramme de classe slide 4 UML vers schéma relationnel Programmation BD avec JDBC slide

Plus en détail

Création d une application JEE

Création d une application JEE Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

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

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

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

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

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

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

J2EE - Introduction. Développement web - Java. Plan du chapitre

J2EE - Introduction. Développement web - Java. Plan du chapitre Développement web - Java J2EE - Introduction Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Plan du chapitre J2EE Présentation J2EE

Plus en détail

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.

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. ASTRIUM - Toulouse JEE Formation 2013 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. Figure 1 Architecture

Plus en détail

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)

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) 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) Module 1 : Programmer une application informatique Durée

Plus en détail

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence

Plus en détail

Java Naming and Directory Interface

Java Naming and Directory Interface Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard

Plus en détail

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

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

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

Serveur d'archivage 2007 Installation et utilisation de la BD exist Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier

Plus en détail

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

Plus en détail

Application Web et J2EE

Application Web et J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis

Plus en détail

Une introduction à la technologie EJB (2/3)

Une introduction à la technologie EJB (2/3) Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce

Plus en détail

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL Jean-Marie Pécatte jean-marie.pecatte@iut-tlse3.fr 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Construire une base de donnée pour bibliothèque

Construire une base de donnée pour bibliothèque Construire une base de donnée pour bibliothèque S'il y a bien un emploi typique pour un ordinateur, c'est celui de gérer une base de données. La première d'entre elles est bien sûr la base des fichiers

Plus en détail

633-2.2 Dialogue avec la base de données

633-2.2 Dialogue avec la base de données 633-2.2 Dialogue avec la base de données 3. Manipulation des données avec un langage hôte Cedric.Baudet@he-arc.ch 1 Références Filière Bachelor of Science en informatique de gestion Domaine Technologies

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

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

1. Installation d'un serveur d'application JBoss: EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download

Plus en détail

Bases de données Page 1 de 11. Bases de données. Prof. : Dzenan Ridjanovic

Bases de données Page 1 de 11. Bases de données. Prof. : Dzenan Ridjanovic Bases de données Page 1 de 11 1- Objectifs généraux Bases de données Prof. : Dzenan Ridjanovic acquérir les principes et concepts fondamentaux dans le domaine des bases de données; développer les connaissances

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE Épreuve de cas pratique dans la spécialité correspondant à l'option choisie par le candidat Option D Durée de préparation

Plus en détail

Annuaire Interne des Personnels v 1.0 Manuel Administration

Annuaire Interne des Personnels v 1.0 Manuel Administration DSI/SPSI Niveau de Distribution Limité 2 Interne 3 Externe X 4 des Personnels v 1.0 Manuel Administration (v1.2) Rédaction Compléments / Vérification Approbation Nom : Olivier CHATOR Nom : Nom : Nom :

Plus en détail

Projet Java EE Approfondi

Projet Java EE Approfondi EISTI Projet Java EE Approfondi Manuel d installation du framework Stripes Amaury Languillat, Yann Gonzalez, Arnaud Recher, Vincent Laronde, Anys Mechkar 10 Manuel d installation Téléchargement On part

Plus en détail

Connexion à une base de données. Connexion à une base de données. Connexion à une base de données Développement d'une application

Connexion à une base de données. Connexion à une base de données. Connexion à une base de données Développement d'une application On souhaite réaliser la connexion d'un programme avec des sources de données Ici, des bases de données relationnelles Deux approches sont possibles qui mettent en œuvre chacune son propre jeu de classes

Plus en détail

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW Groupe : 322 Exploitation des Banques de données 420-PK6-SL (1-2-1) Étape : 3 Professeur Nom: Marcel Aubin Courriel : maubin@cegep-st-laurent.qc.ca

Plus en détail

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

Notes de cours : bases de données distribuées et repliquées

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

Développement des Systèmes d Information

Développement des Systèmes d Information Développement des Systèmes d Information Axe ISI Camille Persson Institut Fayol / LSTI / ISCOD École Nationale Supérieure des Mines de Saint-Etienne 158 cours Fauriel, 42000 Saint-Etienne persson@emse.fr

Plus en détail

Pratique et administration des systèmes

Pratique et administration des systèmes Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de

Plus en détail

Java - MySQL. Code: java-mysql

Java - MySQL. Code: java-mysql Java - MySQL java-mysql Java - MySQL Code: java-mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/java-mysql/java-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/java-mysql.pdf Auteurs

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................

Plus en détail

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans

Plus en détail

Formation en Logiciels Libres. Fiche d inscription

Formation en Logiciels Libres. Fiche d inscription République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

BOUCHARD Nicolas. GENTILE Pierre

BOUCHARD Nicolas. GENTILE Pierre PPE ENT Installation d Esup Portail sous Windows De A à Z - Version du 19/04/2007 Page2 Table des Matières PRE REQUIS... 3 INSTALLATION DE L OUTIL ANT... 4 INSTALLATION DU SERVEUR APACHE TOMCAT... 5 PASSER

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

JavaServer Pages (JSP)

JavaServer Pages (JSP) JavaServer Pages (JSP) XVIII-1 Prérequis pour ce cours Ce cours a trait à la programmation Java coté serveur Il faut connaître un minimum de technologie J2EE Il faut connaître les servlets XVIII-2 Motivation

Plus en détail

A. Architecture du serveur Tomcat 6

A. Architecture du serveur Tomcat 6 Administration du serveur A. Architecture du serveur Tomcat 6 La compréhension de l architecture interne du serveur Tomcat 6 est un pré-requis indispensable pour bien en maîtriser l administration et la

Plus en détail

Plan. Accès aux données dans le framework.net. ADO.NET Entity Framework LINQ ADO.NET ADO.NET. 1. ADO.NET Mode connecté Mode non connecté

Plan. Accès aux données dans le framework.net. ADO.NET Entity Framework LINQ ADO.NET ADO.NET. 1. ADO.NET Mode connecté Mode non connecté Plan Accès aux données dans le framework.net Lionel Seinturier 1. Mode connecté Mode non connecté 2. 3. Université Lille 1 Lionel.Seinturier@univ-lille1.fr 27/3/14 1 Lionel Seinturier 2 Lionel Seinturier

Plus en détail

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

Outil de planification en ligne pour des créations de rendez-vous ou de sondage Outil de planification en ligne pour des créations de rendez-vous ou de sondage Centre de Ressources Informatiques (C.R.I.) d'orléans Université d'orléans 4-6 rue Léonard de Vinci, 45061 Orléans Cedex

Plus en détail

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

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Utilisation de Jakarta Tomcat

Utilisation de Jakarta Tomcat ISI 1022 : Déploiement d applications Web Jean-Noël Sorenti. Année 2002/2003 Déploiement d application Web Utilisation de Jakarta Tomcat ISI 1022 : 1 ISI 1022 : Déploiement d applications Web Une application

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Linux....................................................................

Plus en détail

LES ACCES ODBC AVEC LE SYSTEME SAS

LES ACCES ODBC AVEC LE SYSTEME SAS LES ACCES ODBC AVEC LE SYSTEME SAS I. Présentation II. SAS/ACCESS to ODBC III. Driver ODBC SAS IV. Driver ODBC SAS Universel V. Version 8 VI. Références I. Présentation Introduction ODBC, qui signifie

Plus en détail

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA DEFINITION D UNE BIBLIOTHEQUE D ACCES A UNE BASE DE DONNEES Cet article s adresse aux administrateurs SAS en charge de la mise à disposition des

Plus en détail

Cours: Administration d'une Base de Données

Cours: Administration d'une Base de Données Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Administration d'une Base de Données Table of Contents Principes...1 Structure d'un Base de Données...1 Architecture...1

Plus en détail

La base de données XML exist. A. Belaïd

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

Configurer la supervision pour une base MS SQL Server Viadéis Services

Configurer la supervision pour une base MS SQL Server Viadéis Services Configurer la supervision pour une base MS SQL Server Référence : 11588 Version N : 2.2 : Créé par : Téléphone : 0811 656 002 Sommaire 1. Création utilisateur MS SQL Server... 3 2. Configuration de l accès

Plus en détail

PROCEDURE D'INSTALLATION OPENREPORTS

PROCEDURE D'INSTALLATION OPENREPORTS PROCEDURE D'INSTALLATION OPENREPORTS Table des matières Prérequis...2 1 Installation linux...2 2 Installation JAVA...3 2.1 Installation de la jdk...3 2.2 Configuration de l'environnement...3 3 Installation

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Best Practices : Utilisation des APIs de Lotus Web Content Management

Best Practices : Utilisation des APIs de Lotus Web Content Management Best Practices : Utilisation des APIs de Lotus Web Content Management Agenda Scénarios IBM Lotus Web Content Management Java Server Page (JSP) Introduction Balises JSP Composants JSP Exemples JSP Page

Plus en détail

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

2 Chapitre 1 Introduction

2 Chapitre 1 Introduction 1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné

Plus en détail

Serveurs de noms Protocoles HTTP et FTP

Serveurs de noms Protocoles HTTP et FTP Nils Schaefer Théorie des réseaux (EC3a) Serveurs de noms Protocoles HTTP et FTP Théorie des réseaux (EC3a) Séance 7 Pourquoi DNS? Internet est une structure hiérarchique et arborescente de réseaux et

Plus en détail

10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr]

10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr] 10. Base de données et Web 313 Evolution de l'information Ordre de grandeur : 314 1Mo : 1 gros roman 200Mo : ce que mémorise un être humain dans sa vie. 900Mo : information contenue dans le génome d'une

Plus en détail

Applet pour visualiser les variables «automate» notifiées

Applet pour visualiser les variables «automate» notifiées Applet pour visualiser les variables «automate» notifiées Sommaire 1. Introduction...2 2. Lecture de variables «automate» notifiées...2 2.1. IHM servant au test :...2 2.2. Codage de l'applet :...2 3. Codage

Plus en détail

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques Application statique Tolérance aux Fautes des Grappes d Applications J2EE Sara Bouchenak Sacha Krakowiak, Noël de Palma, Stéphane Fontaine Projet SARDES INRIA IMAG CFSE'4, 6-8 avril 2005 Tolérance aux

Plus en détail

Paradox 9. Guide de l utilisateur jpdox Web Utilities

Paradox 9. Guide de l utilisateur jpdox Web Utilities Paradox 9 Guide de l utilisateur jpdox Web Utilities Copyright 1999 COREL CORPORATION et COREL CORPORATION LIMITED. Tous droits réservés. Guide de l utilisateur des utilitaires Web jpdox Le contenu de

Plus en détail

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle

Plus en détail

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples

Plus en détail

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances

Plus en détail

TP Bases de données réparties

TP Bases de données réparties page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :

Plus en détail

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. Université Paris 7 M2 II Protocole Internet TP3 Mail Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. 1 Protocole SMTP 1. Le protocole SMTP est définit dans

Plus en détail

Dis papa, c est quoi un bus logiciel réparti?

Dis papa, c est quoi un bus logiciel réparti? Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Serveur d'application à la juste taille

Serveur d'application à la juste taille Serveur d'application à la juste taille 18 Mars 2010 Benoit.Pelletier@bull.net Plan Contexte JOnAS 5, plate-forme de convergence JavaEE/OSGi Caractéristiques essentielles pour le Cloud Computing & l'autonomic

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS

RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS SOMMAIRE 1 Introduction...4 2 Généralités à propos du stage...4 2.1 Sujet initial du stage Objectifs...4

Plus en détail