Principes de persistance dans les applications orienté objet
description
Transcript of Principes de persistance dans les applications orienté objet
PRINCIPES DE PERSISTANCE DANS LES APPLICATIONS ORIENTÉ
OBJET
Travail Étude et Recherche
POISSONNIER Jean-MarieLAFFONT Benjamin
TORGUET Patrice
Étudiants :
1
Encadrant :
Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
SOMMAIRE Introduction Mapping
ImplémentationSchémaProblèmesExemple
PersistanceMéthodesPoints négatifs
Frameworks disponibles Conclusion
2Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
INTRODUCTION Principe de la persistance
3Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
MAPPING : IMPLÉMENTATION
Description du problèmeLien modèle objet ↔ modèle relationnel
Modèle objet○ Identité, État, Comportement, Encapsulation
Modèle relationnel○ Relation (table), N-uplets (lignes), Attributs (colonnes)
4Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
MAPPING : SCHÉMA DE FONCTIONNEMENT
5Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
6Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
Difficultés d’implémentationEncapsulationTypes de donnéesTransactionManipulation des donnéesDifférences de structure et d’intégrité
MAPPING : PROBLÈMES (1/2)
MAPPING : PROBLÈMES (2/2)
Différences de structure et d’intégrité
7Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
MAPPING : ARBRE D’HÉRITAGE DE CLASSE Diagramme de classe
8Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
MAPPING : ARBRE D’HÉRITAGE DE CLASSE Mapping vertical
9Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
MAPPING : ARBRE D’HÉRITAGE DE CLASSE Mapping horizontal
10Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
MAPPING : ARBRE D’HÉRITAGE DE CLASSE Mapping filtré
11Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
PERSISTANCE : MÉTHODES (1/3)
Géré par le programmeCohérence mémoire – programme avec ou
sans cache et optimisationComptage des lignes des tablesExpiration des données
Géré par la baseSystème de triggerChamps supplémentaires (Date ou Heure)
12Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
PERSISTANCE : MÉTHODES (2/3)
13
Géré par une tierce partieSystè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
14Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
FRAMEWORKS DISPONIBLES (1/3)
Hibernate – NhibernateJava et C#Permet de faire toutes les générations
relationnel – Objet○ Top-Down, Bottom-Up, Middle-Out, Meet in
the middleCompatible toute base de donnéeFacile à prendre en mainOpen source
15Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
FRAMEWORKS DISPONIBLES (2/3)
IBatisJava et .NetProche du SQL et bonnes performancesOptimisé cache de requête Open sourceRapide à mettre en place
16Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
FRAMEWORKS DISPONIBLES (3/3)
ToplinkJavaPlutôt adapté OracleMature, testé et supporté par OracleAdapté aux applications en clusterPropriétaireDemande une certaine maîtrise
17Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
CONCLUSION Technologie jeune
HistoriqueTous les problèmes ne sont pas résolus
Multiples avantages
Choix difficile
18Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin
QUESTIONS
19
?Principes de persistance - POISSONNIER Jean-Marie et LAFFONT Benjamin