190 likes | 314 Views
Encadrant :. POISSONNIER Jean-Marie LAFFONT Benjamin TORGUET Patrice. É tudiants :. Travail Étude et Recherche. Principes de persistance dans les applications orienté objet. Sommaire. Introduction Mapping Implémentation Schéma Problèmes Exemple Persistance Méthodes
E N D
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
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
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é Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
Mapping: Problèmes (2/2) • Différences de structure et d’intégrité 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 – programmeavec 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) 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 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
Conclusion • Technologie jeune • Historique • Tous les problèmes ne sont pas résolus • Multiples avantages • Choix difficile Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
Questions • ? Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin