JPA: Java Persistence API
|
|
- Claudette Labrie
- il y a 8 ans
- Total affichages :
Transcription
1 1 2 Objet JPA JPA: Java Persistence public class Vin implements = GenerationType.IDENTITY) private Long id = null; private String nomvin; Javabeans synchronisables avec la base de données Autres noms: Hibernate, EJB3 public Long getid() { // getters setters, générés par Eclipse return id; public void setid(long id) { this.id = id; public String getnomvin() { return nomvin; 3 4 Objet JPA avec attributs non public class Vin implements = GenerationType.IDENTITY) private Long id = null; private String nomvin; transient private String flag; // pas dans la BD, pas private String caracteristique; // getters / setters // pas dans la BD // les transients ne sont utilisés que dans la JSF, pas dans la BD Importations dans un JPA import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import public class Vin implements java.io.serializable {...
2 5 6 Insérer un objet dans la base de données javax.persistence.entitymanager em = ejb3_utility.manager.open(); javax.persistence.entitytransaction tx = em.gettransaction(); Vin vin = new Vin(nomV, cepage, annee); em.persist(vin); // or tx.rollback(); ejb3_utility.manager.close(); Manager.java est lié à un thread (détails) private static ThreadLocal<Manager> threadmanager = new ThreadLocal<Manager>() { // nameless class protected synchronized Manager initialvalue() { return (new Manager()); ; 7 8 Manager.java (partiel) private EntityManager em = null; public static EntityManager open() { Manager manager = (Manager) threadmanager.get(); if (manager.em == null) { Manager.emf = Persistence.createEntityManagerFactory("NomDeManager"); manager.em = Manager.emf.createEntityManager(); manager.em.setflushmode(flushmodetype.commit); return manager.em; Création d un projet contenant des JPAs
3 9 10 Projet avec objets JPA Créer un Dynamic Web Project Ajouter la liste de.jar dans WebContent/WEB-INF/lib Ajouter ejb3_utility/manager.java dans src Ajouter META-INF/persistence.xml dans le répertoire src et introduire le nom de chaque JPA dans ce fichier Ajouter mysql_connector.jar dans Tomcat/lib Persistence.xml (partie) <persistence-unit name="nomdemanager"> <class>db.vin</class> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.mysqldialect"/> <property name="hibernate.hbm2ddl.auto" value="update"/> <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.driver"/> <property name="hibernate.connection.username" value="username"/> <property name="hibernate.connection.password" value="password"/> <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/test"/> <property name="javax.persistence.transactiontype" value="resource_local"/> </properties> </persistence-unit> </persistence> 11 Intégration d'un JPA dans un projet Structure selon Usager.java Introduire le JPA dans les ManagedBean, s'il est affiché dans une JSF Introduire son package.nom dans persistence.xml Introduire un objet dans la base de données javax.persistence.entitymanager em = ejb3_utility.manager.open(); javax.persistence.entitytransaction tx = em.gettransaction(); Vin vin = new Vin(nomV, cepage, annee); em.persist(vin); // les modifications faites ici sont aussi introduites dans la BD // or tx.rollback(); ejb3_utility.manager.close(); // persist ajoute automatiquement un id dans le de l'objet
4 Modification d un objet dans la BD: merge() A la fin d'une méthode, avant de retourner à la page à afficher dans le navigateur, on doit naturellement fermer la transaction. Lorsque l'on affiche un objet sur une page, on n'est donc plus dans la transaction Lorsque l utilisateur demande à la page de transmettre les modifications (<form action=" ">), elle appelle une nouvelle action Dans cette action, il faut ouvrir une nouvelle transaction et y réintroduire l'objet merge() pour que les modifications soient enregistrées dans la BD p = new () em.persist(p) Première transaction Opération merge Manager p p1 DB // les modifications de p1 sont transmises dans la BD p1 = em.merge(p) Deuxième transaction Fonctionnement du merge Opération merge Manager Page Page Page Page 5 p Id : 5 p1 Id : 5 session p1 = em.merge(p) p1 est une copie de p Seules les modifications sur p1 seront transmises à la base de données à la fermeture de la transaction A programmer explicitement em.persist(p) p = em.merge(p) DB p = em.merge(p)
5 merge d'un objet déjà dans la transaction merge d'un objet déjà dans la transaction p1 Id : 5 p3 = em.merge(p1) Manager 5 mémorisation p3 On suppose que p1 et p2 ont été créés par un moyen quelconque, par exemple en introduisant directement 5 dans l'id Si l'id est déjà référencé, le contenu du nouvel objet est copié dans l'objet référencé et l'objet référencé est retourné Id : 5 p1 Id : 5 Manager 5 mémorisation p3 p4 p3 = em.merge(p1) p2 On suppose que p1 et p2 ont été créés par un moyen quelconque, par exemple en introduisant directement 5 dans l' id. Le premier merge introduit p3 dans la transaction Comme l' id de p2 est déjà référencé, le deuxième merge copie le contenu du nouvel objet dans l'objet p3 puis la référence de cet objet est retournée dans p4 Id : 5 Id : 5 copie du contenu p4 = em.merge(p2) session Indirection dans la session (p reste dans la session) Relations entre JPAs Business p; public void action() {... p = em.merge(p);...
6 21 22 Relations entre JPA 1:1 Relations entre JPA 1:N Marchand nommarchand vin 1 1 Vin nomvin cepage annee marchand Marchand nommarchand vins 1 N Vin nomvin cepage annee marchand Dans Marchand (il faut choisir un côté pour private Vin vin; Dans private Collection<Vin> private Marchand marchand; Dans private Marchand marchand; Dans Vin // Getters setters pour les deux champs // Getters setters pour la collection et pour le champ marchand Relations entre JPA N:M Marchand nommarchand vins N M Vin nomvin cepage annee marchands Dans Marchand Relations entre JPA N:M, (cascade = CascadeType.ALL) Dans private Collection<Vin> vins; private Collection<Vin> vins = private Collection marchands; Dans Vin private Collection marchands = new ArrayList<Marchand>(); Dans Vin // Getters setters pour les deux collections // Persistence et remove cascadés
7 25 Relation dans la base de données et dans les objets Insertion de JPAs dans les relations C'est la responsabilité du développeur d'introduire les relations dans les deux sens entre les objets. Pour qu'elles soient introduites dans la base de données, il faut faire cette opération dans une transaction du manager. C'est-àdire que le principal soit attaché (voir plus loin) et l'objet ajouté pas libre. De plus il faut introduire au moins l'élément du côté qui n'a pas l'indication mappedby Relations entre JPA private Vin vin; Relations entre JPA private Collection<Vin> private Marchand private Marchand marchand; marchand = em.merge(marchand); em.persist(v); marchand.setvin(v); vin = em.merge(vin); em.persist(m); vin.setmarchand(m); marchand = em.merge(marchand); em.persist(v); marchand.vins.add(v); vin = em.merge(vin); em.persist(m); vin.setmarchand(m); // nécessaire et suffisant pour // introduire la relation dans la BD // nécessaire et suffisant pour // introduire la relation dans la BD
8 29 Relations entre JPA private Collection<Vin> private Collection marchands; marchand = em.merge(marchand); em.persist(v); marchand.vins.add(v); // les instructions d'un seul côté suffisent // pour entrer la relation dans la BD vin = em.merge(vin); em.persist(m); vin.marchands.add(m); Parcourir des éléments d'une relation x:n public class Marchand private Collection<Vin> vins; public void setvins( ) { public Collection<Vin> getvins( ) { //... transaction... marchand = em.merge(marchand); for (Vin v: marchand.getvins()) { // relation System.out.println(v.getNom()); // Les vins sont automatiquement "mergés" quand // on parcourt la collection c merge dans les relations Cours id=8 id=4 id=7 c merge dans les relations Cours et id=8 id=4 id=7 c1 = em.merge(c) c1 = em.merge(c) et = em.merge(et) Manager id: 3, 8, 4, 7 c1 Cours pas de copie Manager 3, 8, 4, 7 c1 Cours et id=4 for (Vin v: marchand.getvins()) { System.out.println(v.getNom()); // mergés automatiquement for (Vin v: marchand.getvins()) { System.out.println(v.getNom()); // le 4 est repris car il est déjà mergé BD extraction c1 Cours id=8 id=4 id=7 Les modifications sur les objets bleus sont répercutées dans la BD c1 Cours id=8 id=7
9 Rattachement à la base de données Comme décrit précédemment, les objets JPA sont créés indépendamment de la base de données et leur synchronisation avec celle-ci est faite de façon explicite. Un objet peut donc être libre (pas d'id), attaché (un ID et dans une transaction) ou détaché (a conservé son ID, mais n'est pas lié à une transaction). Un objet mémorisé dans la session HTTP peut garder son ID d'une page à l'autre. Pour le réintégrer dans une transaction, il faut utiliser merge, comme expliqué sur les pages qui précèdent. De même pour un objet qui serait lu par une query, il obtient un ID, mais il n'est pas attaché à la transaction. em = Manager.open(); client = new Client("Hans"); // libre em.persist(p); // attaché Manager.close(); // détaché, son id reste initialisé client.setid(0); // libre client = (Client) result.getsingleresult(); // détaché Elements attachés merge() Client client = (Client)result.getSingleResult(); // détaché, son id est initialisé client2 = em.merge(client); // attaché, les modifications seront enregistrées au commit // em.merge() retourne une copie intégrée dans la transaction // Donc attention, si client est enregistré dans la session // HTTP, il faudra le ré-enregistrer dans cette session! Mises à jour Quand un objet attaché est mis à jour, ses modifications sont suivies dans le manager et lors du commit, elles sont transmise dans la base de données. Il en est de même avec les relations. Pour vérifier que le système réagit selon nos plans, il suffit d'afficher les tables en utilisant le moniteur de MySQL
10 37 38 JQL Adaptation de SQL aux JPA Utilisation de JQL Query result = em.createquery("select v FROM Vin v"); vin = (Vin)result.getSingleResult(); // une seule ligne, // une exception est jetée si la commande // en définit plusieurs vins = (ArrayList<Vin>) result.getresultlist(); // plusieurs lignes // le find est automatiquement attaché au manager 40 Elimination d'un élément Query result = em.createquery( "SELECT v FROM Vin v WHERE v.nomvin="bourgogne" ); vin = (Vin)result.getSingleResult();... em.remove(vin); JQL avec relations Relation 1:1 SELECT m FROM Marchand m WHERE m.vin.nom='epesse (m.vin est un attribut) Relation 1:N, N:N SELECT m FROM Marchand m, IN(m.sesVins) v WHERE v.nom='epesse' (m.sesvins est une collection)
11 42 Introduire un élément dans une relation Lazy loading (1) Query result = em.createquery( "SELECT c FROM Client c WHERE c.nom=' "+nomclient+" ' "); Client client = (Client) result.getsingleresult(); client.getpanier().add(p); // or tx.rollback(); Lorsque le manager charge une relation qui ne nécessite qu un attribut (1:1, 1:N), il charge directement l unique élément de la relation. Lorsqu il doit charger une liste (N:M, N:1), il ne charge les éléments que lorsqu ils sont accédés. Ainsi, dans l exemple ci-desous, les éléments ne sont plus accessibles, car la transaction est fermée avant d accéder aux éléments (on suppose que client a une relation 1:N avec produits): Client client = (Client)result.getSingleResult(); client2 = em.merge(client); for (Produit p: client2.listeproduits) { print(p); // ne sont plus accessibles 43 Lazy loading (2) Pour forcer le chargement pendant que la liste est dans la transaction, il faut y accéder, par exemple en appelant la fonction size(): Client client = (Client)result.getSingleResult(); Client client2 = em.merge(client); client2.size(); // juste pour forcer le chargement for (Produit p: client2.listeproduits) { print(p); // disponibles // Note: on pourrait aussi spécifier que le chargement soit fait d office // (eager loading) dans les paramètres du JPA (voir la doc spécialisée). Transactions gérées par version Soit la séquence d'événements: On crée ou lit un JPA depuis une page Dans un page suivante, on merge ce JPA pour le modifier La modification est faite correctement On relit une JPA depuis une page Un autre utilisateur lit la même JPA Il la modifie (La modification est faite correctement) Le premier utilisateur clique sur sa page Il modifie le JPA La première modification est oubliée. Le champ de version va permettre de signaler ce problème.
12 Transactions gérées par private int uneversion; // getters / setters Transactions gérées par version public void enregistrer() { // création d'un JPA this.id = null; try { javax.persistence.entitymanager em = ejb3_utility.manager.open(); javax.persistence.entitytransaction tx = em.gettransaction(); em.persist(this); // or tx.rollback(); finally { ejb3_utility.manager.close(); // rien de particulier Transactions gérées par version public void modifier() { try { javax.persistence.entitymanager em = ejb3_utility.manager.open(); javax.persistence.entitytransaction tx = em.gettransaction(); Produit2 p = em.merge(this); p.prix ++; // or tx.rollback() finally { ejb3_utility.manager.close(); // si un autre usager a modifié la même JPA, une exception est // levée car la version a changé depuis la dernière modification Transactions gérées par version public void modifier() { try { javax.persistence.entitymanager em = ejb3_utility.manager.open(); javax.persistence.entitytransaction tx = em.gettransaction(); Produit2 p = em.merge(this); // reprend la version de l objet pas celle p.prix ++; // de la BD // or tx.rollback() finally { ejb3_utility.manager.close(); // à la deuxième modification, exception de mise à jour // car la version a changé depuis la dernière modification
13 Transactions gérées par version (gestion correcte sans concurrence) public void modifieraveclecture() { try { javax.persistence.entitymanager em = ejb3_utility.manager.open(); Query result = em.createquery( "SELECT p FROM Produit2 p WHERE p.nom='" + nom + "'"); Produit2 prod = (Produit2) result.getsingleresult(); // prod obtient la dernière valeur de la version // suite comme dans le transparent précédent MySQL Pour initialiser MySQL sur les stations de la salle de l'epfl, aller à la page et charger l'avant-dernier fichier.zip dans votre répertoire. Ouvrir une fenêtre terminal, aller dans le répertoire bin du nouveau répertoire et appeler mysqld u root console ou simplement mysqld Les mots de passe, si vous en utilisez, doivent être entrés dans le fichier persistence.xml. Ouvrir ensuite une nouvelle fenêtre et appeler: mysql Vous pouvez ensuite taper des commandes telles celles-ci: use test show tables; select * from vin; Exercice Entrer les produits de l'épicerie dans la base de données Voir résumé sur JPA: App Engine de Google Download the Google Plugin for Eclipse Créez un compte Dans Eclipse: New > Web Application Project Clic droit sur le nom de projet > Web Application (exécution comme Tomcat) Clic sur dans le menu principal > remplir champs (exécution sur serveur Google) Erreurs: Sign up > application-id > logs Fichiers pour créer un "disque" dans AppEngine:
14 53 Documentation des JPAs Essais avec JPA: Remplacer / copier les fichiers ci-dessous dans le projet Copier persistence.xml src/meta-inf Documentation: Site App Engine > Getting started Getting started > Java (overview) Java (JPA)
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étailEuropa. 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
Développement JEE 5 avec Eclipse Europa 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 Groupe Eyrolles, 2008, ISBN : 978-2-212-12061-5 10 L API JPA et la
Plus en détailCompte 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étailCré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étailLa gestion de la persistance avec Hibernate. Hibernate et la gestion de persistance. La gestion de la persistance (1/2) Introduction
La gestion de la persistance avec et la gestion de persistance Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com
Plus en détailQuelques 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étailTutoriel d installation de Hibernate avec Eclipse
Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création
Plus en détailLa 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étailServeur 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étailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailCréation d'un site dynamique en PHP avec Dreamweaver et MySQL
Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du
Plus en détailInstaller GlassFish v3
Installer GlassFish v3 1. Télécharger et installer le package Eclipse/GlassFish [http://download.java.net/glassfish/eclipse/] (choisir Windows, no JDK 1.6 bundled ) 2. Créer un raccourci Eclipse sur le
Plus en détailEtude de cas : PGE JEE V2
Arrivés à ce point du tutoriel, nous savons créer une application Web implémentant la persistance des données. Toutefois, le modèle de cette application était simple et composé d'une unique classe et les
Plus en détailApplication 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étailEJB. Karim Bouzoubaa Issam Kabbaj
EJB Karim Bouzoubaa Issam Kabbaj Problématique html jsp Objets java jdbc table Pour accéder aux données : Établir une connexion avec la BD Envoyer une requête Traiter la requête Assurer l'intégrité Or
Plus en détailWeb 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étailProjet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
Plus en détailDéveloppement Web - Object Relational Mapping and Hibernate
1 / 58 Développement Web - Object Relational Mapping and Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer M1/M2 Informatique 2010-2011 2 / 58 Plan Plan 1 Introduction
Plus en détailJava 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étailLe stockage local de données en HTML5
Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailInstitut 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étailBIRT (Business Intelligence and Reporting Tools)
BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»
Plus en détailFormation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Plus en détailSynchronisation Mysql (Replication)
Synchronisation Mysql (Replication) [Petit avertissement : Bon, après relecture, je constate que c'est l'un des plus mauvais document que j'ai écrit. Mais bon, il est quand même utile ce torchon.] Nous
Plus en détailInformation utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Plus en détailBases 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étailTP 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étailJOnAS 5. Serveur d application d
JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailCARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1
CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table
Plus en détailLa 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étailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailPaginer les données côté serveur, mettre en cache côté client
Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule
Plus en détailECLIPSE ET PDT (Php development tools)
ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement
Plus en détailRefonte front-office / back-office - Architecture & Conception -
Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table
Plus en détail1. Base de données SQLite
Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis
Plus en détailExtension 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étailIntroduction à 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étailNuxeo 5.4 : les nouveautés
Atelier GED - 30 mars 2011, Paris Consortium ESUP-Portail Nuxeo.conf et templates Depuis la version 5.3.2, nouvelle façon de configurer Nuxeo à l'aide du fichier nuxeo.conf et des templates. Les templates
Plus en détailPlateforme PAYZEN. Définition de Web-services
Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network
Plus en détailRaja Bases de données distribuées A Lire - Tutoriel
Université des Sciences de Montpellier Master 2 Semestre 1 Unité d'enseignement FMIN306 Raja Bases de données distribuées A Lire - Tutoriel 26 janvier 2011 Audrey Novak Romain Maneschi Jonathan Fhal Aloys
Plus en détailCRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE
CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de
Plus en détailRMI 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étailAvant-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étailOPTENET DCAgent 2.01. Manuel d'utilisateur
OPTENET DCAgent 2.01 Manuel d'utilisateur SOMMAIRE 1. INTRODUCTION...1 2. INSTALLATION...2 3. ÉTABLISSEMENT DES PERMISSIONS...4 Pour de plus amples informations, reportez-vous aux annexes «Conditions requises
Plus en détailRapport de projet de fin d études
TELECOM SUDPARIS VAP : ARCHITECTE DE SERVICES EN RESEAU Rapport de projet de fin d études Comparaison et évaluation de serveurs d'applications Java Sarafou BALDE Muqiu ZHENG Encadrante: Mme Sophie CHABRIDON
Plus en détailServeur 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étailTransfert d un site local vers un serveur. NPDS REvolution 13. Rédaction : Axel Relecture : Dev & Jpb
Transfert d un site local vers un serveur NPDS REvolution 13 Révision 1.1 de la documentation pour cette version Rédaction : Axel Relecture : Dev & Jpb Sommaire 1 Présentation générale... 3 1.1 Convention...
Plus en détailCette 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étailPHP 4 PARTIE : BASE DE DONNEES
PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux
Plus en détailCours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Plus en détailLES 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étailCOSWIN MOBILE SERVEUR DE SYNCHRONISATION GUIDE D INSTALLATION
SERVEUR DE SYNCHRONISATION GUIDE D INSTALLATION SOMMAIRE I. FONCTION DU SERVEUR DE SYNCHRONISATION...3 II. ELEMENTS DU SERVEUR DE SYNCHRONISATION...3 1. APPLICATION ULSA... 3 2. APPLICATION IDE.... 3 III.
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détail1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5
1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en
Plus en détailTUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013
TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013 1. Téléchargement des sources AppInventor http://appinventor.mit.edu/appinventor-sources/ Télécharger ces
Plus en détailDéveloppement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
Plus en détailGuide d installation de MySQL
INF 1250 Introduction aux bases de données Guide d installation de MySQL 1 Introduction Ce guide vous indique la façon d installer et d utiliser le logiciel MySQL de Oracle (disponible en licence GPL).
Plus en détail[APPLICATON REPARTIE DE VENTE AUX ENCHERES]
2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...
Plus en détail1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7
Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application
Plus en détailContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.
ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables
Plus en détailSIMULATEUR DE MARCHE FINANCIER
SIMULATEUR DE MARCHE FINANCIER HichemBostangi - Mohamed Fenina - Benjamin Guillet Arnaud Izard Génie logiciel & Base de données avancées Année 2011-2012 Encadré par A.M. Hugues 1 Sommaire I. Présentation
Plus en détailDéveloppement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com
Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend
Plus en détailPHP 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étailBase de connaissances
Base de connaissances Base de connaissances DinkeyWeb et solutions Contact commercial : Tél. : 02 47 35 70 35 Email : com@aplika.fr Contact Technique : Tél. : 02 47 35 53 36 Email : support@aplika.fr Version
Plus en détailLes différentes méthodes pour se connecter
Les différentes méthodes pour se connecter Il y a plusieurs méthodes pour se connecter à l environnement vsphere 4 : en connexion locale sur le serveur ESX ; avec vsphere Client pour une connexion sur
Plus en détailRemote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plus en détailGestion de stock pour un magasin
Département d Informatique Université de Fribourg, Suisse http://diuf.unifr.ch Gestion de stock pour un magasin Stock online utilise ASP/MS-Access DO Thi Tra My No étudiant : 05-333-750 Travail de séminaire
Plus en détailCorrigé de l'atelier pratique du module 8 : Implémentation de la réplication
Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication Table des matières Atelier pratique 8 : Implémentation de la réplication 1 Exercice 1 : Création d'une publication 1 Exercice
Plus en détailAuthentification unique Eurécia
Authentification unique Eurécia Date/Version Contenu Etat 27/03/2013 Création du document Diffusable 03/09/2013 Mise à jour du document Diffusable 17/07/2013 Ajout du chapitre provisionning Diffusable
Plus en détailCours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No2 :
Atelier No2 : Installation d Active Directory Installation du service DNS Installation du Service WINS Création d'un compte d'ordinateur Jonction d'un ordinateur à un domaine Création d usagers. Étape
Plus en détailDEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.
DEVAKI NEXTOBJET 1 Présentation...2 Installation...3 Prérequis...3 Windows...3 Linux...3 Exécution...4 Concevoir une BDD avec Devaki NextObject...5 Nouveau MCD...5 Configurer la connexion à la base de
Plus en détailObjet : Guide d'installation et de maintenance pour "My IC Phone 8082" connecté à un OmniPCX Office R810
Communication Technique TC1619 Ed 01 Date : 17/02/2012 Produit : Alcatel-Lucent OmniPCX Office Nb. de pages: 14 Objet : Guide d'installation et de maintenance pour "My IC Phone 8082" connecté à un OmniPCX
Plus en détailarcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr
arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr Auteur du document : ESRI France Version de la documentation : 1.2.0.0 Date de dernière
Plus en détailOpenPaaS 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étailDéfinition des Webservices Ordre de paiement par email. Version 1.0
Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document
Plus en détailMise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision
Page 1 de 7 Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision Table des matières Table des matières... 1 1. Premier
Plus en détailComment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org
Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org Diffusé par Le Projet Documentation OpenOffice.org OpenOffice.org Documentation Project How-To Table des matières 1. Introduction...3
Plus en détailTP3. 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étailIntroduction à la programmation concurrente
Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under
Plus en détailJava 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étailExclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011
Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique
Plus en détailTD 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étailService intervenant. Version 6.3
Service intervenant Version 6.3 Guide intervenant Mai 2013 Sommaire 1. PRESENTATION GENERALE... 3 1.1. OBJECTIFS... 3 1.2. PRECONISATIONS... 3 1.3. PRINCIPES GENERAUX... 4 2. PRESENTATION DETAILLEE...
Plus en détailPlateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.
Plateforme PAYZEN Intégration du module de paiement pour la plateforme Magento version 1.3.x.x Paiement en plusieurs fois Version 1.4a Guide d intégration du module de paiement Multiple Magento 1/24 SUIVI,
Plus en détailArchitecture de la plateforme SBC
Simple Business Connector Architecture de la plateforme SBC Titre Projet Description Architecture de la plateforme SBC Plateforme SBC Ce document reprend toutes les étapes de l'installation du serveur
Plus en détailOlivier Mondet http://unidentified-one.net
T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage
Plus en détailMise 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étailLe service FTP. M.BOUABID, 04-2015 Page 1 sur 5
Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailGuide d utilisation du service e-banking
Guide d utilisation du service e-banking p. 1 Chers utilisateurs, Ce guide d utilisation du service e-banking vous présente les différents écrans que vous aurez à découvrir en souscrivant au service e-banking
Plus en détailMODE OPERATOIRE OPENOFFICE BASE
MODE OPERATOIRE OPENOFFICE BASE Openoffice Base est un SGBDR : Système de Gestion de Base de Données Relationnelle. L un des principaux atouts de ce logiciel est de pouvoir gérer de façon efficace et rapide
Plus en détailGESTION DU LOGO. 1. Comment gérer votre logo? 2. 2.1. Format de l image 7 2.2. Dimensions de l image 8 2.3. Taille de l image 9
GESTION DU LOGO 1. Comment gérer votre logo? 2 1.1. Insérer un logo 3 1.1.1. Insérer un logo dans le bandeau 3 1.1.2. Insérer un logo dans les éditions 4 1.2. Supprimer un logo 6 1.2.1. Supprimer un logo
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailTP SIN Programmation sur androïde Support : eclipse
TP SIN Programmation sur androïde Support : eclipse Support : Smartphone sur androïde Pré requis (l élève doit savoir): Savoir utiliser un ordinateur Savoir utiliser un Smartphone Programme Objectif terminale
Plus en détailLa base de données dans ArtemiS SUITE
08/14 Vous préférez passer votre temps à analyser vos données plutôt qu à chercher un fichier? La base de données d ArtemiS SUITE vous permet d administrer et d organiser confortablement vos données et
Plus en détailLES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1
LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 SAS Cost and Profitability Management, également appelé CPM (ou C&P), est le nouveau nom de la solution SAS Activity-Based Management. Cette version
Plus en détail