B www.bolodewo.com
‫اآللي‬ ‫لإلعالم‬ ‫العليا‬ ‫الوطنية‬ ‫المدرسة‬-‫الجزائر‬-
Ecole Nationale Supérieure d’Informatique-ESI...
B www.bolodewo.com
MISE ENCONTEXTE
B www.bolodewo.com
3
0%
2%
4%
6%
8%
10%
12%
14%
16%
2003 2004 2005 2006 2007
Real Annual Growth in US
US. Software and Rel...
B www.bolodewo.com
4
QUELQUES INTERPRÉTATIONS
2 La demande élevée sur les logiciels
(3,6 Milliards de logiciel étaient dép...
B www.bolodewo.com
Langages OOP (Java, C++, C#, PHP, …etc)
01
Le reste des paradigmes
(C,Asm, SQL, Matlab, …etc)
02
<57%
L...
B www.bolodewo.com6
L’ORIENTÉ OBJET
Modularité Réutilisabilit
é
Extensibilité
6
B www.bolodewo.com
< 80%
Les SGBDs
relationnels
db-engines.com (September 2015)
Les SGBD Relationnels
01
Les SGBDs Clé-Val...
B www.bolodewo.com8
LE MODÈLE RELATIONNEL
Solidité Maturité,
Standardisation
Flexibilité
SQL
8
B www.bolodewo.com9
LE MODÈLE RELATIONNEL ET LE MODÈLE OBJET
Modèle Relationnel Modèle Objet
Enregistrement
Relation
Table...
B www.bolodewo.com
TYPE DE DONNÉES
Objet: Nombres complexes
Relationnel: /
IDENTITÉ
HÉRITAGE
Objet: support existe
Relatio...
B www.bolodewo.com
SOLUTION : Le Mapping Objet Relationnel
11
Augmenter la productivité
Accélérer le cycle de
développemen...
B www.bolodewo.com
PROBLEMATIQUE
B www.bolodewo.com
Multiple de
choix
13
LA DIFFUCLTÉ DE
L’ÉVALUATIONDapper
Data Object
NHibernate
SubSonic
LLGB Gen
Entity...
B www.bolodewo.com
subjectivité
Multiple de
choix
14
LA DIFFUCLTÉ DE
L’ÉVALUATION
Absence d’un
processus d ’évaluation
Man...
B www.bolodewo.com
OBJECTIFS
B www.bolodewo.com
Analyse des performances
Classification méthodologique
des critères
Processus d’évaluation des
ORMs
Cri...
B www.bolodewo.com17
PLAN DE LA PRÉSENTATION
Synthèse
bibliographique
Conception
et
Implémentatio
n
Le Mapping
Objet
Relat...
B www.bolodewo.com
LE MAPPING OBJET RELATIONNEL
B www.bolodewo.com
19
Le Mapping Objet Relationnel
Base de donnéesORM
fichier de mapping
fichier de mapping
Application
Ob...
B www.bolodewo.com
20
Le Mapping Objet Relationnel (Exemple)
Absence
AbsenceID
Date
EstJustife
Justification
EdutiantID
Et...
B www.bolodewo.com
21
Techniques d’optimisation
Une couche d’abstraction pour offrir la
transparence aux développeurs
Plus...
B www.bolodewo.com
22
Techniques d’optimisation
Avec ses deux
niveaux:
 Local (L1)
 Global (L2)
Le cache
Future Queries
...
B www.bolodewo.com
SYNTHESE BILBLIOGRAPHIQUE
B www.bolodewo.com
Systematic Review
24
ORM Evaluation Criteria
Planification de la recherche
Exécution du protocole de la...
B www.bolodewo.com
Planification de la recherche
25
Définir l’objectif de la recherche Identifier les criteres d’evaluatio...
B www.bolodewo.com
Exécution du protocole de la recherche
26
Planification de la recherche Exécution du protocole de la re...
B www.bolodewo.com
Conclure la revue
27
Base de données Résultats totaux Articles en Anglais Articles sélectionnées
ACM 17...
B www.bolodewo.com
Limitations
28
Les résultats sont incomplets
Les résultats ne sont pas mis à
jour
Nombre de publication...
B www.bolodewo.com
PROCESSUS D’EVALUATION DES ORMS
B www.bolodewo.com
30Modèle de qualité des ORMs
(Basé sur ISO 9126)
Line 3D Infographic
Maintenabilité
Fonctionnalité
Util...
B www.bolodewo.com
31
Le processus de sélection des ORMs
03
02
01
Définition des besoins, spécifications fonctionnelles et...
B www.bolodewo.com
32
Le processus de sélection des
ORMs 01
Choix des critères
d’évaluation
03
02
01
w
Choix et pondératio...
B www.bolodewo.com
33
Mapping
Classification des critères
• Support de mapping
de l’héritage, les
relations n-m, 1-
n…etc
B www.bolodewo.com
34
Mapping
Gestion• Support des mise à
jours en cascade
• Support des
transactions
• …etc
Classificatio...
B www.bolodewo.com
35
Mapping
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Curabitur elementum
posuere pretium...
B www.bolodewo.com
36
Mapping
Gestion
Requêtes
Performance
• Temps de réponce
pour les différentes
opration CRUD
• …etc
Cl...
B www.bolodewo.com
37
Mapping
Gestion
Requêtes
Performance
adipiscing elit. Curabitur elementum
posuere pretium.
Optimisat...
B www.bolodewo.com
38
Mapping
Gestion
Requêtes
Cout
Performance
Optimisations
• Prix
• Open Source/
Commercial
• Temps
d’a...
B www.bolodewo.com
39
Mapping
Gestion
Requêtes
Ecosystème
Cout
Performance
Optimisations
• SGBDs supportées
• Plateformes
...
B www.bolodewo.com
40
Mapping
Gestion
Requêtes
Ecosystème
Cout
Performance
Optimisations
• Maturité,
Communauté ..,etc
Cla...
B www.bolodewo.com
41
Sélection basée sur les attributs de qualité
Modèle de qualité des ORMs Correspondance
Caractéristiq...
B www.bolodewo.com
42
Le processus de sélection des ORMs
Critère important mais il n’est pas requis
Critère très important...
B www.bolodewo.com
43
Le processus de sélection des ORMs
03
02
01
w
Définition des besoins, spécifications fonctionnelles ...
B www.bolodewo.com
44
Méthode de sélection
MAUT (Multi-Attribut UtilityTheory)
Méthode quantitative de comparaison qui app...
B www.bolodewo.com
45
Méthode de sélection
• Ci=1: support complet
• Ci=x: support partiel
• Ci=0,5: support mais avec ext...
B www.bolodewo.com
46
Niveau de Support (Ci)
Un critère peut
être satisfait par
plusieurs ORM
mais:
A Avec un effort de mi...
B www.bolodewo.com
CONCEPTIONET IMPLEMENTATION
B www.bolodewo.com
48
Architecture
Common
View
ViewModel
Model
B www.bolodewo.com
49Mesure de performance
Tests de CUD
• CUD simple
• CUD par lot
Test de Stress
• Opérations concurrenti...
B www.bolodewo.com
Complexité des tests de sélections
Test
Taille du résultat
retourné
Cotés explorés
Simple Sélection par...
B www.bolodewo.com
51Benchmark utilisé
Table Enregistrements
Person 19 972
Address 19 972
Employee 290
EmployeeDepartmentH...
B www.bolodewo.com
ORM KING
Oracle +
SQL Server
DevExpress
Chart controls
DevExpress
MVVM
Windows Presentation
Foundation
...
B www.bolodewo.com
53
Version 2015.2.624.1Version 4.0.4.4000 Inclu dans .NETVerion 6.1.3
ORMs comparés Référentiel
B www.bolodewo.com
TESTS ETRESULTATS
B www.bolodewo.com
Ultimate NHibernate
Entity
Framework
Data Access
55
Approches de mapping
Types de données
Mapping d’une...
B www.bolodewo.com
Ultimate NHibernate
Entity
Framework
Data Access
Mises a jour en cascade
Références circulaires
Liens b...
B www.bolodewo.com
Ultimate NHibernate
Entity
Framework
Data Access
Mécanisme de cache
Mises a jour par lot
Stratégies de ...
B www.bolodewo.com
Moins est mieux
Résultats des tests de performances
58
SQL Server
Nhibernate
EntityFramework
ADO.NET
Da...
B www.bolodewo.com
Moins est mieux
Résultats des tests de performances (CUD par lot)
59
SQL Server
0
200
400
600
800
1000
...
B www.bolodewo.com
Moins est mieux
Résultats des tests de performances (Stress)
60
SQL Server
197
169
348
Temps d’éxecutio...
B www.bolodewo.com
Moins est mieux
Résultats des tests de performances
61
Oracle
Nhibernate
EntityFramework
DataAccess
ADO...
B www.bolodewo.com
Moins est mieux
Résultats des tests de performances (CUD par lot)
62
OracleDataAccessNHibernate EntityF...
B www.bolodewo.com
Moins est mieux
Résultats des tests de performances (Stress)
63
OracleDataAccessNHibernate EntityFramew...
B www.bolodewo.com
Synthèse des résultats de performance
64
ADO.NET performe raisonnablement mieux que les autres ORMs
Ent...
B www.bolodewo.com
CONCLUSION ET PERSPECTIVES
B www.bolodewo.com66
Conclusion
Identification des critères de sélection en utilisant la méthode Systematic Review
Définit...
B www.bolodewo.com
67
Perspectives
Elaboration d’une approche pour analyser la
qualité des requêtes SQL générées
Elaborati...
B www.bolodewo.com
Merci pourvotre Attention
Prochain SlideShare
Chargement dans…5
×

Présentation PFE VF 3.0pptx

13 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
13
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
1
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • … And its contribution has historically grown much faster than the rest of the economy • OUTPERFORMING THE ECONOMY: In 2007, the software and related services sector experienced a real annual growth rate of 14%, compared with a real annual growth rate of 2% for all US industries. This sector has outpaced the rest of the economy in each year since 2003. [Source: OECD, STAN Database for Structural Analysis, ed. 2008]
  • … And its contribution has historically grown much faster than the rest of the economy • OUTPERFORMING THE ECONOMY: In 2007, the software and related services sector experienced a real annual growth rate of 14%, compared with a real annual growth rate of 2% for all US industries. This sector has outpaced the rest of the economy in each year since 2003. [Source: OECD, STAN Database for Structural Analysis, ed. 2008]
  • DONNER DES EXEMPLES
  • Prioritatsion
  • PB: difficulty d’évaluation
  • titles
  • Multidatabaese
    Definition
    historiQUE
  • Multidatabaese
    Definition
    historiQUE
  • , l’outil ORM fournit donc certains mécanismes d'amélioration de performances tel que :
    Le cache pour la sauvegarde des objets et des requêtes
    Les mis à jour retardé pour minimiser les accès à la base de données
    Le chargement différé qui consiste à un changement à la demande des objets depuis la base des données sans perdre du temps à charger des détails inutiles

  • Démarche du projet
  • Ce travail a été mené par la revue systématique : c’est une méthode de recherche qui existait dans le domaine de la recherche médicale et qui a été adopté par la recherche technique pour sa rigueur et ses résultats qui permettent de synthétiser l’état actuel de la recherche dans un domaine donné
    La une méthode se déroule sur 3 phases qui sont brièvement :

    Planification de la recherche : définir l'objectif de la recherche et fixer clairement ses besoins

    Exécution du protocole de la recherche : sélectionnées les sources de données nécessaire pour faire la recherche qui peuvent être des bibliothèques numériques, sites internet, et littérature grise et d’autres … suivi de Sélection des études primaires et Extraction de données
    et enfin conclure la revue et exposer les résultat 

  • Ce travail a été mené par la revue systématique : c’est une méthode de recherche qui existait dans le domaine de la recherche médicale et qui a été adopté par la recherche technique pour sa rigueur et ses résultats qui permettent de synthétiser l’état actuel de la recherche dans un domaine donné
    La une méthode se déroule sur 3 phases qui sont brièvement :

    Planification de la recherche : définir l'objectif de la recherche et fixer clairement ses besoins

    Exécution du protocole de la recherche : sélectionnées les sources de données nécessaire pour faire la recherche qui peuvent être des bibliothèques numériques, sites internet, et littérature grise et d’autres … suivi de Sélection des études primaires et Extraction de données
    et enfin conclure la revue et exposer les résultat 

  • Ce travail a été mené par la revue systématique : c’est une méthode de recherche qui existait dans le domaine de la recherche médicale et qui a été adopté par la recherche technique pour sa rigueur et ses résultats qui permettent de synthétiser l’état actuel de la recherche dans un domaine donné
    La une méthode se déroule sur 3 phases qui sont brièvement :

    Planification de la recherche : définir l'objectif de la recherche et fixer clairement ses besoins

    Exécution du protocole de la recherche : sélectionnées les sources de données nécessaire pour faire la recherche qui peuvent être des bibliothèques numériques, sites internet, et littérature grise et d’autres … suivi de Sélection des études primaires et Extraction de données
    et enfin conclure la revue et exposer les résultat 

  • iso9126
  • ORM//titile
  • Le poids est attribué pour chaque critère pour refléter son importance
    Le calcul du score global pour chaque alternative est effectué par le biais l’une fonction d'utilité qui doit être précisément identifié par l’utilisateur
  • Le poids est attribué pour chaque critère pour refléter son importance
    Le calcul du score global pour chaque alternative est effectué par le biais l’une fonction d'utilité qui doit être précisément identifié par l’utilisateur
  • Comme nous pouvons le constater, il n y a pas une grande différence entre les fonctionnalités offertes entres les trois outils, puisqu‟il s‟agit des trois exemples d'outils ORM les plus réussis dans la plateforme .NET, EntityFramework et NHibernate sont open source, et gratuits, considérés matures par la communauté des développeurs. DataAccess étais un ORM commercial sous le nom de OpenAccess jusqu‟à 2014, il bénéfice d‟un support technique actif et d‟une très bonne documentation.
  • Utiliser les temps
  • Utiliser les temps
  • Utiliser les temps
  • Utiliser les temps
  • Utiliser les temps
  • Utiliser les temps
  • Utiliser les temps
  • Comme nous pouvons le constater, il n y a pas une grande différence entre les fonctionnalités offertes entres les trois outils, puisqu‟il s‟agit des trois exemples d'outils ORM les plus réussis dans la plateforme .NET, EntityFramework et NHibernate sont open source, et gratuits, considérés matures par la communauté des développeurs. DataAccess étais un ORM commercial sous le nom de OpenAccess jusqu‟à 2014, il bénéfice d‟un support technique actif et d‟une très bonne documentation.
  • Présentation PFE VF 3.0pptx

    1. 1. B www.bolodewo.com ‫اآللي‬ ‫لإلعالم‬ ‫العليا‬ ‫الوطنية‬ ‫المدرسة‬-‫الجزائر‬- Ecole Nationale Supérieure d’Informatique-ESI-Alger PRÉSENTÉ PAR: BENZARA TAHAR Belahcen et MATOUK Meriem PROPOSÉ ET ENCADRÉ PAR Mr. Mostefai Mohamed Amine Dimanche 27 septembre Une approche méthodique pour l’évaluation des ORMs Présentation du sujet du master:
    2. 2. B www.bolodewo.com MISE ENCONTEXTE
    3. 3. B www.bolodewo.com 3 0% 2% 4% 6% 8% 10% 12% 14% 16% 2003 2004 2005 2006 2007 Real Annual Growth in US US. Software and Related Services All US Industries [Source: OECD, STAN Database for Structural Analysis, ed. 2008] Plus de 260 Milliards $ dans la valeur de l’économie des Etats Unis! Taux de croissance estimé à 14% Comparé à 2% pour le reste des secteurs! L’INDUSTRIE DES LOGICIELS
    4. 4. B www.bolodewo.com 4 QUELQUES INTERPRÉTATIONS 2 La demande élevée sur les logiciels (3,6 Milliards de logiciel étaient déployés en 2008!) 3 L’évolution rapide des technologies (frameworks) 1 Très bonne conditions de travail Salaire moyen est 85k $ 195% du moyen national [Source: OECD, STAN Database for Structural Analysis, ed. 2008]
    5. 5. B www.bolodewo.com Langages OOP (Java, C++, C#, PHP, …etc) 01 Le reste des paradigmes (C,Asm, SQL, Matlab, …etc) 02 <57% Langages de programmation orienté objet 43% 57% 5 THETIOBE PROGRAMMING COMMUNITY INDEX
    6. 6. B www.bolodewo.com6 L’ORIENTÉ OBJET Modularité Réutilisabilit é Extensibilité 6
    7. 7. B www.bolodewo.com < 80% Les SGBDs relationnels db-engines.com (September 2015) Les SGBD Relationnels 01 Les SGBDs Clé-Valeurs 03 Autres… 04 Document Datastore 02 6,6% 9% 81%3,4% 7
    8. 8. B www.bolodewo.com8 LE MODÈLE RELATIONNEL Solidité Maturité, Standardisation Flexibilité SQL 8
    9. 9. B www.bolodewo.com9 LE MODÈLE RELATIONNEL ET LE MODÈLE OBJET Modèle Relationnel Modèle Objet Enregistrement Relation Table Instance Référence d’objet Classe 30% du code Pour régler l’incompabilité entre les deux modèles 30% 9
    10. 10. B www.bolodewo.com TYPE DE DONNÉES Objet: Nombres complexes Relationnel: / IDENTITÉ HÉRITAGE Objet: support existe Relationnel: / GRANULARITÉ Objet: Une classe peut avoir plusieurs niveaux Relationnel: / ASSOCIATIONS Objet: Navigation par référence d’objet Relationnel: Clé étrangères => Navigation par des jointures Innapdation d’impédance Objet: Adresse mémoire…etc Relationnel: Clé primaire 10
    11. 11. B www.bolodewo.com SOLUTION : Le Mapping Objet Relationnel 11 Augmenter la productivité Accélérer le cycle de développement Eliminer la duplication du code Assurer une persistance transparente
    12. 12. B www.bolodewo.com PROBLEMATIQUE
    13. 13. B www.bolodewo.com Multiple de choix 13 LA DIFFUCLTÉ DE L’ÉVALUATIONDapper Data Object NHibernate SubSonic LLGB Gen Entity Framework NEO Data Access Speed Light ECO DX XPO Quick Object Speed Light EntitySpac es Active Record iBatis Linq2Sql
    14. 14. B www.bolodewo.com subjectivité Multiple de choix 14 LA DIFFUCLTÉ DE L’ÉVALUATION Absence d’un processus d ’évaluation Manque d’expertise
    15. 15. B www.bolodewo.com OBJECTIFS
    16. 16. B www.bolodewo.com Analyse des performances Classification méthodologique des critères Processus d’évaluation des ORMs Critères d’évaluation des ORMs 16 Définir une approche pour l’évaluation et la comparaison des ORMs Objectifs
    17. 17. B www.bolodewo.com17 PLAN DE LA PRÉSENTATION Synthèse bibliographique Conception et Implémentatio n Le Mapping Objet Relationnel Processus d’évaluation des ORMs Test et Résultats Conclusion et perspectives
    18. 18. B www.bolodewo.com LE MAPPING OBJET RELATIONNEL
    19. 19. B www.bolodewo.com 19 Le Mapping Objet Relationnel Base de donnéesORM fichier de mapping fichier de mapping Application Objets + traitement métiers Présentation Définition Le mapping objet-relationnel est une technique qui tente d’automatiser le passage entre le monde orienté objet et le monde relationnel, en illuminant la duplication des données, le coût de la maintenance et la susceptibilité aux erreurs associées.
    20. 20. B www.bolodewo.com 20 Le Mapping Objet Relationnel (Exemple) Absence AbsenceID Date EstJustife Justification EdutiantID Etudiant EtudiantID Nom Prenom Le modèle Relationnel Le modèle Objet
    21. 21. B www.bolodewo.com 21 Techniques d’optimisation Une couche d’abstraction pour offrir la transparence aux développeurs Plus de traitements Il faut des techniques pour optimiser les performances
    22. 22. B www.bolodewo.com 22 Techniques d’optimisation Avec ses deux niveaux:  Local (L1)  Global (L2) Le cache Future Queries Minimiser les accès à la base de données Mises a jour retardées Lazy/Eager loading Minimiser les accès a la base de données Stratégies de chargement
    23. 23. B www.bolodewo.com SYNTHESE BILBLIOGRAPHIQUE
    24. 24. B www.bolodewo.com Systematic Review 24 ORM Evaluation Criteria Planification de la recherche Exécution du protocole de la recherche Conclure la revue et exposer les résultat 1 3 2
    25. 25. B www.bolodewo.com Planification de la recherche 25 Définir l’objectif de la recherche Identifier les criteres d’evaluation des ORMs Définir les questions de la recherche • Quels sont les démarche suivie • Quels sont les criteres utlisés • Quels sont les principaux résultats obtenus Planification de la recherche Exécution du protocole de la recherche Conclure la revue et exposer ses résultats
    26. 26. B www.bolodewo.com Exécution du protocole de la recherche 26 Planification de la recherche Exécution du protocole de la recherche Conclure la revue et exposer ses résultats Sélection des sources de données nécessaire pour faire la recherche Sources utilisées: ACM, IEE; Springer Link, WOS, Littératures grises Sélection des études primaires • Critères d’inclusions • Critères d’exlcusion Extraction des données • Etudes sélectionnées : 21 études • Extraire les critères d’évaluation 1 3 2
    27. 27. B www.bolodewo.com Conclure la revue 27 Base de données Résultats totaux Articles en Anglais Articles sélectionnées ACM 175 175 6 ‘2 en commun avec IEEE’ Web Of Science 146 145 2 IEEE 91 91 4 Springer Link 172 145 3 ‘1 en commun avec WOS’ ‘1 en commun avec ACM’ Literature grise - - 10 Total 584 556 21 Planification de la recherche Exécution du protocole de la recherche Conclure la revue et exposer ses résultats
    28. 28. B www.bolodewo.com Limitations 28 Les résultats sont incomplets Les résultats ne sont pas mis à jour Nombre de publications limité Absence d’une méthodologie d’évaluation
    29. 29. B www.bolodewo.com PROCESSUS D’EVALUATION DES ORMS
    30. 30. B www.bolodewo.com 30Modèle de qualité des ORMs (Basé sur ISO 9126) Line 3D Infographic Maintenabilité Fonctionnalité Utilisabilité Efficacité Portabilité  Pertinence  Facilité de compréhension  Facilité d’apprentissage  Facilité d’analyse  Facilité de modification  Comportement temporel  Utilisation des ressources  Facilité d’adaptation  Interchangeabilité Caractéristique Sous Caractéristique
    31. 31. B www.bolodewo.com 31 Le processus de sélection des ORMs 03 02 01 Définition des besoins, spécifications fonctionnelles et techniques et des resources 03Spécifications techniques 01Spécifications fonctionnelles 02Modèle de données 04Resource disponibles
    32. 32. B www.bolodewo.com 32 Le processus de sélection des ORMs 01 Choix des critères d’évaluation 03 02 01 w Choix et pondération des critères Définition des besoins, spécifications fonctionnelles et techniques et des resources
    33. 33. B www.bolodewo.com 33 Mapping Classification des critères • Support de mapping de l’héritage, les relations n-m, 1- n…etc
    34. 34. B www.bolodewo.com 34 Mapping Gestion• Support des mise à jours en cascade • Support des transactions • …etc Classification des critères
    35. 35. B www.bolodewo.com 35 Mapping Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur elementum posuere pretium. Gestion Requêtes • Qualité de requêtes générées • Support de LINQ • Methode de requêtes supportées (LINQ, SQL …etc.) Classification des critères
    36. 36. B www.bolodewo.com 36 Mapping Gestion Requêtes Performance • Temps de réponce pour les différentes opration CRUD • …etc Classification des critères
    37. 37. B www.bolodewo.com 37 Mapping Gestion Requêtes Performance adipiscing elit. Curabitur elementum posuere pretium. Optimisations • Support de cache • Support de batch • Support de chargement immediat/ différé • …etc Classification des critères
    38. 38. B www.bolodewo.com 38 Mapping Gestion Requêtes Cout Performance Optimisations • Prix • Open Source/ Commercial • Temps d’apprentissage • …etc Classification des critères
    39. 39. B www.bolodewo.com 39 Mapping Gestion Requêtes Ecosystème Cout Performance Optimisations • SGBDs supportées • Plateformes Supportés • …etc Classification des critères
    40. 40. B www.bolodewo.com 40 Mapping Gestion Requêtes Ecosystème Cout Performance Optimisations • Maturité, Communauté ..,etc Classification des critères Support et apprentissage
    41. 41. B www.bolodewo.com 41 Sélection basée sur les attributs de qualité Modèle de qualité des ORMs Correspondance Caractéristique Sous Caractéristiques Mapping Gestion Requête Performance et Optimisation Ecosystème Support Cout Fonctionnalité Pertinence (suitability) X X X X X Utilisabilité Facilité de compréhension (understandability) X X Facilité de d’apprentissage (learnability) X X Efficacité Comportement temporel (time behavior) X X Utilisation des ressources (resource utilization) X X Maintenabilité Facilité d’analyse (analyzability) X X Facilité de modification (changeability) X X X Portabilité Facilité d’adaptation (adaptability) X Interchangeabilité (replaceability) X X X X X
    42. 42. B www.bolodewo.com 42 Le processus de sélection des ORMs Critère important mais il n’est pas requis Critère très important mais pas requis Critère requis Critère peu important, son absence n’affecte pas le choix de l’ORM. 4 3 2 1 01 Choix des critères d’évaluation 02Attribution des poids 03 02 01 Choix et pondération des critères Définition des besoins, spécifications fonctionnelles et techniques et des resources
    43. 43. B www.bolodewo.com 43 Le processus de sélection des ORMs 03 02 01 w Définition des besoins, spécifications fonctionnelles et techniques et des resources Calcul de score et sélection de l’ORM Choix et pondération des critères Sélection selon La méthode MAUT
    44. 44. B www.bolodewo.com 44 Méthode de sélection MAUT (Multi-Attribut UtilityTheory) Méthode quantitative de comparaison qui applique des fonctions utilitaires pour transformer les mesures des différentes concept à une échelle commune afin d’établir la décision la plus pertinente Poids Critè re j Critèr e i Critèr e k Niveau de support
    45. 45. B www.bolodewo.com 45 Méthode de sélection • Ci=1: support complet • Ci=x: support partiel • Ci=0,5: support mais avec extension • Ci=0: Absence du support Niveau de support du critère i Sr= 𝑖=0 𝑛 𝐶𝑖 𝑃𝑖 r= 𝑂𝑅𝑀(𝑀𝑎𝑥 𝑆𝑟 ) Calcule du score Sr Score associé au ORM r Pi Poids associé au critère i Ci Niveau de support du critère i
    46. 46. B www.bolodewo.com 46 Niveau de Support (Ci) Un critère peut être satisfait par plusieurs ORM mais: A Avec un effort de mise en place différent B Avec des performances différentes
    47. 47. B www.bolodewo.com CONCEPTIONET IMPLEMENTATION
    48. 48. B www.bolodewo.com 48 Architecture Common View ViewModel Model
    49. 49. B www.bolodewo.com 49Mesure de performance Tests de CUD • CUD simple • CUD par lot Test de Stress • Opérations concurrentielles (10 clients) Tests de Sélection • LINQ • SQL Dérivé • SQL Natif Comparaison avec ADO.NET
    50. 50. B www.bolodewo.com Complexité des tests de sélections Test Taille du résultat retourné Cotés explorés Simple Sélection par ID 1 Efficacité de la recherche Sélection des 1000 premiers employés 1000 Matérialisation des objets Obtenir la liste des employés qui ont la fonction ‘Design Engineer’ 100 Traitement de l’héritage Obtenir la liste des employés du département ‘production’ 180 Relation n-n+ héritage Obtenir le total des frais des ventes ordonnés livré pendant l’année 2007 groupés par cité de livraison. 371 Qualité du SQL généré pour une requête complexe (fonction d’agrégation + jointures + trie + groupement) 50
    51. 51. B www.bolodewo.com 51Benchmark utilisé Table Enregistrements Person 19 972 Address 19 972 Employee 290 EmployeeDepartmentHistory 295 Department 16 PurchaseOrderHeader 4 012 ShipMethod 5 Customer 19 820 SalesOrderHeader 31 465 SaledTerritory 10
    52. 52. B www.bolodewo.com ORM KING Oracle + SQL Server DevExpress Chart controls DevExpress MVVM Windows Presentation Foundation Visual Studio Commynity 2015 .NET framework 4,5 Technologies utilisées MVVMWPF 52Outils utilisés
    53. 53. B www.bolodewo.com 53 Version 2015.2.624.1Version 4.0.4.4000 Inclu dans .NETVerion 6.1.3 ORMs comparés Référentiel
    54. 54. B www.bolodewo.com TESTS ETRESULTATS
    55. 55. B www.bolodewo.com Ultimate NHibernate Entity Framework Data Access 55 Approches de mapping Types de données Mapping d’une table sur plusieurs classes Mapping d’une classe sur plusieurs tables Mapping de l’héritage Support des vues Procédures stockées Code first, database first, model first n-m, 1-n, 1-1 Oui OUi TPC, TPH, TPT OUi OUi Code first, database first, model first n-m, 1-n, 1-1 Oui OUi TPC, TPH, TPT OUi OUi Code first, database first, model first n-m, 1-n, 1-1 Oui OUi TPC, TPH, TPT OUi OUi Comparaison des caractéristiques La Catégorie Mapping
    56. 56. B www.bolodewo.com Ultimate NHibernate Entity Framework Data Access Mises a jour en cascade Références circulaires Liens bidirectionnels Support des transactions Gestion de la concurence Etats des données Support de la validation Oui Oui Oui OUi Optimiste, Pessimiste OUi OUi Oui Oui Oui OUi Optimiste, Pessimiste OUi OUi Oui Oui Oui OUi Optimiste, Pessimiste OUi OUi Migration automatique OUi OUi OUi Comparaison des caractéristiques 56 La Catégorie Gestion
    57. 57. B www.bolodewo.com Ultimate NHibernate Entity Framework Data Access Mécanisme de cache Mises a jour par lot Stratégies de chargement L1 et L2 Modification et suppression Eazy/Eager Loading L1 et L2 Oui Eazy/Eager Loading L1 seulement Non (possible avec une extension Eazy/Eager Loading Migration automatique Comparaison des caractéristiques 57 Ultimate NHibernate Entity Framework Data Access Support des agrégations Support des jointures Langage de requêtes Support du link Simplicité/ Complexité des requêtes Qualité des requêtes générées Oui Oui LINQ, Sql Natif OUi / / Oui Oui HQL, Query Over, API Criteria, LINQ, Sql natif OUi / / Oui Non EntitySql, LINQ, Sql natif OUi / / Migration automatique La Catégorie Optimisations La Catégorie Requêtes
    58. 58. B www.bolodewo.com Moins est mieux Résultats des tests de performances 58 SQL Server Nhibernate EntityFramework ADO.NET DataAccess 0 5 10 15 20 25 CUD Simple LINQ Sql dérivé SQL natif 2.4 15.07 14.56 10.3 2.53 14.57 14.14 8.94 0.9 0 0 8.6 14.09 0 0 24.8 Nhibernate EntityFramework ADO.NET DataAccess
    59. 59. B www.bolodewo.com Moins est mieux Résultats des tests de performances (CUD par lot) 59 SQL Server 0 200 400 600 800 1000 1200 10 50 100 250 500 1000 DataAccessNHibernate EntityFramework 0 500 1000 1500 2000 2500 3000 3500 4000 4500 10 50 100 250 500 1000 Insertion par lot Suppression par lotModification par lot 0 50 100 150 200 250 300 350 10 50 100 250 500 1000
    60. 60. B www.bolodewo.com Moins est mieux Résultats des tests de performances (Stress) 60 SQL Server 197 169 348 Temps d’éxecution en milliseconds de test de stress de DataAccessNHibernate EntityFramework
    61. 61. B www.bolodewo.com Moins est mieux Résultats des tests de performances 61 Oracle Nhibernate EntityFramework DataAccess ADO.NET 0 5 10 15 20 25 30 CUD Simple LINQ Sql dérivé SQL natif 3.75 18.55 23 12.1 2.51 24.33 18 10.21 9.87 0 25.48 0.99 7 Nhibernate EntityFramework DataAccess ADO.NET
    62. 62. B www.bolodewo.com Moins est mieux Résultats des tests de performances (CUD par lot) 62 OracleDataAccessNHibernate EntityFramework Insertion par lot Suppression par lotModification par lot 0 200 400 600 800 1000 1200 1400 1600 10 50 100 250 500 1000 0 200 400 600 800 1000 1200 10 50 100 250 500 1000 0 50 100 150 200 250 300 350 1 2 3 4 5 6
    63. 63. B www.bolodewo.com Moins est mieux Résultats des tests de performances (Stress) 63 OracleDataAccessNHibernate EntityFramework Temps d’éxecution en milliseconds de test de stress de chaque ORM
    64. 64. B www.bolodewo.com Synthèse des résultats de performance 64 ADO.NET performe raisonnablement mieux que les autres ORMs Entity Framework et NHibernate présente des me Telerik DataAccess présente des mauvais résultats La différence de performance entre les ORM et l’approche classique ADO.NET est acceptable 2 4 3 1
    65. 65. B www.bolodewo.com CONCLUSION ET PERSPECTIVES
    66. 66. B www.bolodewo.com66 Conclusion Identification des critères de sélection en utilisant la méthode Systematic Review Définition d’un processus d’évaluation et de comparaison des ORMs : 1. Définition des besoins 2. Choix et pondération des critères 3. Calcul du score et sélection de l’ORM Définition d’un benchmark pour l’évaluation des performances Plateforme d’évaluation des performance Analyse et interprétation des résultats 1 2 3 4 5
    67. 67. B www.bolodewo.com 67 Perspectives Elaboration d’une approche pour analyser la qualité des requêtes SQL générées Elaboration des techniques de mesure approchées pour quantifier les critères qui sont difficilement mesurables. Amélioration de la fonction d’utilité pour inclure d’autres paramètres dans le calcul du score Inclure d’autres outils ORM de la plateforme .NET dans l’évaluation et autres SGBDs. Mener l’évaluation des Outils ORMs sous la plateforme Java. 01 02 03 04 05
    68. 68. B www.bolodewo.com Merci pourvotre Attention

    ×