Java et les bases de données Etat de l’art 14 juin 2012.

Slides:



Advertisements
Présentations similaires
Applications N-Tiers Rappels: architecture et méthodologie
Advertisements

Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
ACubeOLAP Client Olap en ACube.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Reference Model of Open Distributed Processing
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix.
Introduction aux Entity Beans
Design Pattern MVC En PHP5.
Gestion de la persistance des objets
NFE 107 : Urbanisation et architecture des systèmes d'information
Présentation des frameworks pour Java EE
Projet JEE approfondi Stripes / Toplink
CLUB DES UTILISATEURS FRANCOPHONES STAR- APIC Ville de Liège – Halle aux Viandes 24 et 25 novembre 2010 Bénéfices de la migration vers Elyx.
Organisation du système d’information comptable et de gestion
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
LES OUTILS POUR LA GOUVERNANCE DES DONNÉES LA PASSION DES DONNÉES LA PRÉCISION DES RÉSULTATS.
Forum JEE: framework STRUTS 1 et iBATIS
Base de données avancées
XML-Family Web Services Description Language W.S.D.L.
Architectures Web - N-Tiers
Amélioration de la sécurité des données à l'aide de SQL Server 2005
Tapestry - Eclipse Link
Principes de persistance dans les applications orienté objet
Projet JAVA EE Approfondi
Mapping Objet-Relationnel
Modèle Logique de Données
Staf 2x Cours de bases de données
Informatique appliquée UQAC (Dim) DIAPORAMA Informatique appliquée UQAC (Dim)
Initiation aux bases de données et à la programmation événementielle
Gestion de données distribuées Intégration - Médiation
Processus d'un projet F.Pfister
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
SOMMAIRE  Introduction  BCO / Toolbox aujourd’hui  Recommandations pour BCO  CRP aujourd’hui  Recommandations pour CRP  La base de données  Recommandations.
Introduction.
Présentation Session RPSI
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Découverte des Framework : SPRING & JAXB
Cours techonologies .NET
HIBERNATE Mapping Objet / base de données relationnelle
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
Chapitre 2 Persistance de données De Hibernate au standard JPA 1.0
« Le plaisir du chercheur : retrousser les jupes de la nature » Jean Rostand Proposer une « Interface Homme Machine » en utilisant une technologie Client.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Struts.
Chantier Factory Prototype Bankonet Cellule Architecture – Zoom Chantier Le pictogramme permet de rappeler rapidement la technologie concernée par le Zoom.
No SQL. Sommaire 1. Présentation a) Qu’est ce que le NoSQL b) Un SGBD NoSQL 2. Bornes 3. Outils de veille 4. Article.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
L’enseignement de spécialité SLAM
Centralisation des sites web d’ELTA & Mise en place d’un serveur NAS
Amandine SOURY Bertrand DUCOULOMBIER Formation Java J2EE - Décembre Projet final de la formation Infotel : Gestion des cartes grises Formation.
EPREUVE E6 : PARCOURS DE PROFESSIONNALISATION
Développement et design Web Awaves academy Stockholm 2006.
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
Initiation aux SGBD Frédéric Gava (MCF)
Dr Mohamed Anis BACH TOBJI
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
1 JEE 2010 Architectures n-tiers F.Pfister
Veille Technologique SGBD Open Source PostgreSQL.
Apéro Techno Stephen Rousset. Plan : 1.Discussion autour du concept NoSQL 2.Utilisation côté code (C#) 3.Du concret 4.Questions ?
Bases de données non relationnelles/NoSQL
Introduction Module 1.
Analyse, élaboration et exploitation d’une Base de Données
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Introduction SGDBOO Sommaire Définition d’un SGBD (6 services)
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
module SIE depuis 2011 et IAMD depuis l’an dernier ! Gestion de Masse de Données (GMD) Introduction Adrien Coulet
Centre de Calcul de l’Institut National de Physique Nucléaire et de Physique des Particules Rien ne se perd, rien ne se crée, tout se Cyril L’Orphelin,
Introduction Bases de Données NoSQL Principe de base Avantages/Inconvénients L’évolution du Web 2.0 et actuellement Web 3.0, a montrée l’insuffisance des.
Transcription de la présentation:

Java et les bases de données Etat de l’art 14 juin 2012

P. 2 Guillaume HARRY l ARESU  ARESU (Architectures, réseaux, Expertise & Support aux unités)  Appui et accompagnement des projets  Veille technologique  Capitalisation des compétences techniques  Participation aux communautés informatique  Guillaume HARRY  11 ans d’expérience en tant que DBA  7 ans d’expérience en J2E Expertise accès aux données  Responsable des cellules « Bases de données » et « Gestion des identités »  Participation à la cellule « Développement »  Étude sur les failles de sécurité des applications Web

P. 3 Guillaume HARRY l ARESU SOMMAIRE 1. Introduction 2. Bases de données relationnelles 3. La mouvance NoSQL 4. Conclusion

P. 4 Guillaume HARRY l ARESU 1. INTRODUCTION Java et la sérialisation

P. 5 Guillaume HARRY l ARESU 1. Introduction : Java et la sérialisation  Modèle en couche  L’interface graphique ne doit pas manipuler directement les données stockées  La couche d’accès aux données doit être la seule responsable de la sérialisation des objets métiers  Qu’est-ce que la sérialisation ?  Rendre les objets persistants  Ecrire des données présentes en mémoire vers un flux de données binaires

P. 6 Guillaume HARRY l ARESU 1. Introduction : Java et la sérialisation  Développement spécifique  XML  Structure le contenu  Pas de véritable outil de gestion des données  SGBDOO  Outil idéal mais ne s’est pas imposé  NoSQL  Outil idéal pour un besoin bien défini  Pas de standards (langage, interface d’accès)  Conclusion  SGBD Relationnel reste un standard

P. 7 Guillaume HARRY l ARESU 1. Introduction : Java et la sérialisation  Pour les bases de données relationnelles  Standard d’accès : JDBC  Langage SQL largement répandu  Maintenance couteuse  SQL propre à chaque SGBDR  Besoin de redévelopper les frameworks de gestion des accès  Développement spécifique au SGBDR utilisé

P. 8 Guillaume HARRY l ARESU 1. Introduction : Java et la sérialisation  JDO (JSR243)JSR243  Interface standard pour la sérialisation  Indépendance vis-à-vis de la solution de stockage  Trop complexe à mettre en œuvre  Peu d’implémentations

P. 9 Guillaume HARRY l ARESU 2. BASES DE DONNÉES RELATIONNELLES 1. Besoins 2. ORM 3. JPA 4. Les limites

P. 10 Guillaume HARRY l ARESU 2.1 Bases de données relationnelles : Besoins  Faciliter le développement de la couche DAO  Ne pas gérer les accès à la base de données  Automatiser la corrélation Objet ↔ Base de données

P. 11 Guillaume HARRY l ARESU 2. BASES DE DONNÉES RELATIONNELLES 1. Besoins 2. ORM 1.Modèle 2.Exemple avec Hibernate 3. JPA 4. Limites

P. 12 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : ORM  Objectifs  Faciliter  Ne pas gérer  Automatiser  Modèle  Implémentations Java  Hibernate (Jboss)  TopLink (Oracle)  MyBatis (mapping par requête et non par table)

P. 13 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : ORM  Exemple avec Hibernate  Configuration 1 fichier de configuration Hibernate (hibernate.cfg.xml) Déclaration de l’entité

P. 14 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : ORM  Exemple avec hibernate  Mapping 1 fichier de description XML ( classe.hbm.xml) par classe

P. 15 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : ORM  Exemple avec Hibernate  Outil Hibernate Tools pour faciliter la génération Java  XML et SGBDR  Java  Gestion des accès au SGBDR

P. 16 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : ORM  Exemple avec Hibernate  Gestion des accès au SGBDR 1 classe HibernateUtil pour obtenir une session dans la base de données Génération automatique des ordres SQL

P. 17 Guillaume HARRY l ARESU 2. SÉRIALISER DANS UN SGBDR 1. Besoins 2. ORM 3. JPA 1.Modèle 2.Exemple 4. Limites

P. 18 Guillaume HARRY l ARESU 2.3 Bases de données relationnelles : JPA  Objectifs  Bénéficier des avantages des frameworks ORM  Indépendance du framework utilisé  Langage standard JP-QL (inspiré de HQL)  Modèle  Implémentations Java  Hibernate (Jboss)  TopLink (Oracle)  EclipseLink (Fondation Eclipse)  DataNucleus Access Platform

P. 19 Guillaume HARRY l ARESU 2.3 Bases de données relationnelles : JPA  Exemple  Configuration 1 fichier de description Contexte de persistance Déclarations des classes  Permet de faciliter la gestion des contextes de test Déclaration de l’entité

P. 20 Guillaume HARRY l ARESU 2.3 Bases de données relationnelles : JPA  Exemple  Mapping Déclaration de l’entité Déclaration de l’identifant

P. 21 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : JPA  Exemple  Outil Plugin Eclipse inclus dans Eclipse WTP  Gestion des accès au SGBDR Avec Hibernate

P. 22 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : JPA  Exemple avec Hibernate  Gestion des accès au SGBDR Avec Hibernate Génération automatique des ordres SQL

P. 23 Guillaume HARRY l ARESU 2. SÉRIALISER DANS UN SGBDR 1. Besoins 2. ORM 3. JPA 4. Limites

P. 24 Guillaume HARRY l ARESU 2.4 Bases de données relationnelles : Limites  Complexité du modèle  Implémentation des associations  Implémentation de l’héritage 1seule table, somme de tous les attributs des classes filles (par défaut) 1 table par classe  Persistance par transitivité  Performances  Comment faire avec des données non structurées ?

P. 25 Guillaume HARRY l ARESU 3. LA MOUVANCE NOSQL 1. Technologies 2. Limites 3. Et JPA alors?

P. 26 Guillaume HARRY l ARESU 3.1 NoSQL : Technologies  Not Only SQL  Répondre aux besoins  Explosion du volume de données (Big Data)  Données non structurées  Gestion des relations entre les données

P. 27 Guillaume HARRY l ARESU 3.1 La mouvance NoSQL : Technologies  Clé-valeur  Données représentée par couple clé/valeur  Accès rapides  Type de données simples  Exemple : stockage de résultats d’expérience, statistiques Système de cache  Implémentations Voldemort (LinkedIn) Redis Riak MySQL Cluster 7.2 … Clé 1 Clé 2 Clé 3 … valeur

P. 28 Guillaume HARRY l ARESU 3.1 La mouvance NoSQL : Technologies  Orientée document  Ensemble de clés-valeurs stockées dans un document  Données semi-structurées  Pas de support des transactions  Exemple : Catalogue de produits CMS  Implémentations MongoDB CouchDB OrientDB … Clé 1 Clé 2 Clé 3 … Document Champ 1valeur Champ 2valeur Champ 3valeur Champ 4valeur Document Champ 1valeur Champ 2valeur Document Champ 1valeur Champ 2valeur Champ 3valeur

P. 29 Guillaume HARRY l ARESU 3.1 La mouvance NoSQL : Technologies  Orientée colonne  Contrairement aux SGBDR, colonnes différentes pour chaque ligne  Ecritures rapides  Evite des colonnes à NULL  Exemple Stockage de journaux d’activité  Implémentation Hbase Cassandra BigTable (google) SuperColonne NomCNRS Valeur Colonne NomOrganisme ValeurCNRS Colonne NomSecteur Valeurpublic

P. 30 Guillaume HARRY l ARESU 3.1 La mouvance NoSQL : Technologies  Orientée graphe  Information représentée par des nœuds et des relations entre nœuds  Accès aux données par les liaisons  Exemple : Réseaux sociaux  Implémentation Neo4j HypergraphDB FlockDB OrientDB Nœud Champ 1valeur Champ 2valeur Champ 3valeur Champ 4valeur Nœud Champ 1valeur Champ 2valeur Nœud Champ 1valeur Champ 2valeur Champ 3valeur Arc Libellé : apprend Arc Libellé : connait

P. 31 Guillaume HARRY l ARESU 3.1 La mouvance NoSQL : Technologies  Choix de la technologie dépend du besoin, pas du volume à gérer  Ne sont pas NoSQL  Orientées objet  Hierarchique  Datagrids (hors clé-valeur)

P. 32 Guillaume HARRY l ARESU 3. LA MOUVANCE NOSQL 1. Technologies 2. Limites 3. Et JPA alors?

P. 33 Guillaume HARRY l ARESU 3.2 La mouvance NoSQL : Limites  NoSQL est encore récent  Pas de solution idéale  Théorème CAP  Cohérence  Availability  Partition tolerance Chaque client peut toujours lire et écrire Chaque client a la même vue de chaque donnée à tout instant Le système fonctionne malgré la partition physique des données Systèmes CPSystèmes AC Systèmes AP

P. 34 Guillaume HARRY l ARESU 3. LA MOUVANCE NOSQL 1. Technologies 2. Limites 3. Et JPA alors ?

P. 35 Guillaume HARRY l ARESU 3.3 La mouvance NoSQL : Et JPA alors?  OrientDB est nativement écrit en JPA  Datanucleus : JPA et JDO pour accès  SGBDR,  MongoDB,  Hbase,  LDAP,  Excel,  XML …

P. 36 Guillaume HARRY l ARESU 4. CONCLUSION

P. 37 Guillaume HARRY l ARESU Conclusion  JPA et ORM  Orientés CRUD  Tuning complexe dépendant du framework  Moins performants que des accès bas niveau  NoSQL  Ne remplace pas SGBDR  Administration/exploitation non triviale

Java et les bases de données Etat de l’art 14 juin 2012