Principes de persistance dans les applications orienté objet

Slides:



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

Coupe de France de Robotique 2007 Candidat n°4 – Steven LY BTS IRIS – PROMOTION
Projet n°4 : Objecteering
JXDVDTEK – Une DVDthèque en Java et XML
Fonctionnalités des SGBD
Master Génie Biologique et Informatique, première année
ACCESS Découverte.
Indicateurs de position
Défi écriture BEF Couverture. Défi écriture BEF Page 1.
Plan de formation Chapitre 1 : Présentation de SAP
R. Saint-Paul, G. Raschia and N. Mouaddib IRIN, Nantes (France)
TP 3-4 BD21.
METHODES DE SIMULATION DE LA VITESSE DU VENT
Construction de Box-Plot ou diagrammes en boîtes ou boîtes à moustaches Construire une boîte à moustaches …
Conception d’une application de gestion de fiches études
VI. Analyse des solutions techniques
Les Enterprise Service Bus
Initiation au système d’information et aux bases de données
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.
Initiation au système d’information et aux bases de données
Coupe de France de Robotique 2007 Candidat n°4 – Steven LY BTS IRIS – PROMOTION
Développement d’applications web
Forum JEE: framework STRUTS 1 et iBATIS
Contrôles d'accès aux données
Base de données avancées
Middleware : XML-DBMS Permet de faire office d’interface entre des données XML et des bases de données relationnelles (insertion et récupération de données)
Tapestry - Eclipse Link
Transformation du diagramme de classe en modèle relationnel
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
Bases de données et SGBD relationnels
Projet JAVA EE Approfondi
Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE,
Méthode des k plus proches voisins
UML F. Laperruque INRA – SAGA CATI SICPA.
MIGRATION DE DONNÉES la méthode générale
L’utilisation des bases de données
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Projet Génie Logiciel & UML, Bases de Données & Interfaces
Veille Technologique : Étudier les avantages et inconvénients du typage statique et du typage dynamique pour des applications interactives Sujet proposé.
VI. Analyse des solutions techniques
SSO : Single Sign On.
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
La gestion par activités (ABM)
Le diagramme de séquences
Gestion de données distribuées Intégration - Médiation
Francois Gautrais | Charles Jacob | Nicolas Levêque | Léo Chaudet 11 Mai
Entity Framework 4 Mitsuru FURUTA Relations techniques développeurs
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
Introduction.
1 PLAN I. Eclipse Modeling Framework  Présentation  Le modèle Ecore  Code généré  Utilisation de template II.Graphical Modeling Framework  Présentation.
19 Mai 2009 CADOT, ROMON, NOEL, GUILLOUET, MONGENET-LAMAISON.
WIKIPEDIA ZHE DONG. Sommaire INTRODUCTION Bref historique Fonctionnement et concepts Wikimedia Foundation Projets publics Projets internes CONCLUSION.
Outil de gestion des cartes grises
Initiation MS Access 2010 Requêtes - Sélection (travail en autonomie)
KF-RAY Raytracer parallèle Projet long d’informatique
AngularJS.
La technologie en 6ème Quelles compétences à acquérir ?
Cours techonologies .NET
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
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.
Les systèmes de gestion de base de données (SGBD)
& J2EE Approfondi Hibernate Struts 2 & Hibernate
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
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.
Introduction Module 1.
Java et les bases de données Etat de l’art 14 juin 2012.
Transcription de la présentation:

Principes de persistance dans les applications orienté objet Encadrant : POISSONNIER Jean-Marie LAFFONT Benjamin TORGUET Patrice Étudiants : Travail Étude et Recherche Principes de persistance dans les applications orienté objet Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin Sommaire Introduction Mapping Implémentation Schéma Problèmes Exemple Persistance Méthodes Points négatifs Frameworks disponibles Conclusion Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin Introduction Principe de la persistance Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Mapping : Implémentation Description du problème Lien modèle objet ↔ modèle relationnel Modèle objet Identité, État, Comportement, Encapsulation Modèle relationnel Relation (table), N-uplets (lignes), Attributs (colonnes) Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Mapping : Schéma de fonctionnement Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Mapping : Problèmes (1/2) Difficultés d’implémentation Encapsulation Types de données Transaction Manipulation des données Différences de structure et d’intégrité Difficultés d’implémentation Encapsulation  Problème d’héritage (public – privé) Types de données  Pas de référence et pointeurs, Contraintes de taille maxi en relationnel et pas en objet (ex string-varchar) Transaction  Pas de transaction en objet Manipulation des données  Type d’accès au donnée différent entre objet(accesseurs) et relationnel (requêtes) Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Mapping : Problèmes (2/2) Différences de structure et d’intégrité Difficultés d’implémentation Différences de structure et d’intégrité  1/Portée des variables objet vers relationnel 2/ Contraintes d’intégrité de la base pseudo portée coté objet Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Mapping : Arbre d’héritage de classe Diagramme de classe Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Mapping : Arbre d’héritage de classe Mapping vertical Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Mapping : Arbre d’héritage de classe Mapping horizontal Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Mapping : Arbre d’héritage de classe Mapping filtré Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Persistance : méthodes (1/3) Géré par le programme Cohérence mémoire – programme avec ou sans cache et optimisation Comptage des lignes des tables Expiration des données Géré par la base Système de trigger Champs supplémentaires (Date ou Heure) Géré par le programme Cohérence mémoire – programme avec ou sans cache  Lors d’un ajout le programme détermine si il faut envoyer les requêtes, les grouper, les optimiser, … Comptage de la base  Count(*) Expiration des données  Timeout threadé de façon externe au thread principal et géré en toute transparence Géré par la base Système de trigger  Lors des différentes actions sur la base, celle-ci lève un événement Champs supplémentaires (Date ou Heure) Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Persistance : méthodes (2/3) Géré par une tierce partie Système de cache distribué (ex : JCache) Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Persistance : points négatifs (3/3) Performance Non adaptable à tous les projets Contraintes sur l’écriture de code Tests supplémentaires Césure entre le relationnel et l’objet Pas de polymorphisme Pas de type-checker robuste Performance Non adaptable à tous les projets Contraintes sur l’écriture de code  annotation , Type de donnée (type-checker robuste) Tests supplémentaires Césure entre le relationnel et l’objet Pas de correspondance exacte : R->O Classes non robuste, peux d’objet et O->R Problème de mapping… (CF JM) Pas de polymorphisme  Etudiant – Professeur  Homme alors exemple : Pas de liste générique Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Frameworks disponibles (1/3) Hibernate – Nhibernate Java et C# Permet de faire toutes les générations relationnel – Objet Top-Down, Bottom-Up, Middle-Out, Meet in the middle Compatible toute base de donnée Facile à prendre en main Open source Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Frameworks disponibles (2/3) IBatis Java et .Net Proche du SQL et bonnes performances Optimisé cache de requête Open source Rapide à mettre en place Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Frameworks disponibles (3/3) Toplink Java Plutôt adapté Oracle Mature, testé et supporté par Oracle Adapté aux applications en cluster Propriétaire Demande une certaine maîtrise Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin Conclusion Technologie jeune Historique Tous les problèmes ne sont pas résolus Multiples avantages Choix difficile Relationnel  milieu des années 70 Révolution objet  début des années 90 Fort rapprochement des deux Réduit les efforts, les couts et le temps de développement Faire abstraction du lien relationnel – objet Choix utilisation O/N et quel FW ? Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin

Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin Questions ? Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin