68
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 2015 Une approche méthodique pour l’évaluation des ORMs Présentation du sujet du master:

Présentation PFE VF 3.0pptx

Embed Size (px)

Citation preview

Page 1: Présentation PFE VF 3.0pptx

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 AmineDimanche 27 septembre 2015

Une approche méthodique pour l’évaluation des ORMs

Présentation du sujet du master:

Page 2: Présentation PFE VF 3.0pptx

B www.bolodewo.com

MISE EN CONTEXTE

Page 3: Présentation PFE VF 3.0pptx

B www.bolodewo.com

3

2003 2004 2005 2006 20070%

2%

4%

6%

8%

10%

12%

14%

16%

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

Page 4: Présentation PFE VF 3.0pptx

B www.bolodewo.com

4QUELQUES 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]

Page 5: Présentation PFE VF 3.0pptx

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%

5THE TIOBE PROGRAMMING COMMUNITY INDEX

Page 6: Présentation PFE VF 3.0pptx

B www.bolodewo.com6

L’ORIENTÉ OBJET

Modularité Réutilisabilité

Extensibilité

6

Page 7: Présentation PFE VF 3.0pptx

B www.bolodewo.com

< 80%Les SGBDs

relationnels

db-engines.com (September 2015)

Les SGBD Relationnels01

Les SGBDs Clé-Valeurs03

Autres…04

Document Datastore02

6,6% 9% 81%3,4%

7

Page 8: Présentation PFE VF 3.0pptx

B www.bolodewo.com8

LE MODÈLE RELATIONNEL

Solidité Maturité,Standardisati

on

Flexibilité

SQL

8

Page 9: Présentation PFE VF 3.0pptx

B www.bolodewo.com9

LE MODÈLE RELATIONNEL ET LE MODÈLE OBJETModè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

Page 10: Présentation PFE VF 3.0pptx

B www.bolodewo.com

TYPE DE DONNÉESObjet: Nombres complexesRelationnel: /

IDENTITÉ

HÉRITAGEObjet: support existeRelationnel: /

GRANULARITÉObjet: Une classe peut avoir plusieurs niveaux Relationnel: /

ASSOCIATIONSObjet: Navigation par référence d’objetRelationnel: Clé étrangères => Navigation par des jointures

Innapdation d’impédance

Objet: Adresse mémoire…etcRelationnel: Clé primaire

10

Page 11: Présentation PFE VF 3.0pptx

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

Page 12: Présentation PFE VF 3.0pptx

B www.bolodewo.com

PROBLEMATIQUE

Page 13: Présentation PFE VF 3.0pptx

B www.bolodewo.com

Multiple de choix

13

LA DIFFUCLTÉ DE

L’ÉVALUATIONDapper

Data ObjectNHibernate

SubSonic

LLGB Gen

Entity Framework

NEO

Data Access

Speed Light

ECO

DX XPO

Quick Object

NHidryte

Speed Light

EntitySpaces

Active Record

iBatis

Linq2Sql

Page 14: Présentation PFE VF 3.0pptx

B www.bolodewo.com

subjectivité

Multiple de choix

14

LA DIFFUCLTÉ DE

L’ÉVALUATION

Absence d’un processus d ’évaluation

Manque d’expertise

Page 15: Présentation PFE VF 3.0pptx

B www.bolodewo.com

OBJECTIFS

Page 16: Présentation PFE VF 3.0pptx

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

Page 17: Présentation PFE VF 3.0pptx

B www.bolodewo.com17

PLAN DE LA PRÉSENTATION

Synthèse bibliographiq

ue

Conception et

Implémentation

Le Mapping Objet

Relationnel

Processus d’évaluation

des ORMs

Test et

Résultats

Conclusion et

perspectives

Page 18: Présentation PFE VF 3.0pptx

B www.bolodewo.com

LE MAPPING OBJET RELATIONNEL

Page 19: Présentation PFE VF 3.0pptx

B www.bolodewo.com

19Le Mapping Objet Relationnel

Base de donnéesORM

fichier de mapping

fichier de mapping

Application

Objets + traitement métiers

Présentation

DéfinitionLe 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.

Page 20: Présentation PFE VF 3.0pptx

B www.bolodewo.com

20Le Mapping Objet Relationnel (Exemple)

AbsenceAbsenceIDDateEstJustifeJustificationEdutiantID

EtudiantEtudiantIDNomPrenom

Le modèle Relationnel Le modèle Objet

Page 21: Présentation PFE VF 3.0pptx

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

Page 22: Présentation PFE VF 3.0pptx

B www.bolodewo.com

22

Techniques d’optimisation

Avec ses deux niveaux:

Local (L1) Global (L2)

Le cache

Future QueriesMinimiser les accès à la base de données

Mises a jour retardées

Lazy/Eager loadingMinimiser les accès

a la base de données

Stratégies de chargement

Page 23: Présentation PFE VF 3.0pptx

B www.bolodewo.com

SYNTHESE BILBLIOGRAPHIQUE

Page 24: Présentation PFE VF 3.0pptx

B www.bolodewo.com

Systematic Review 24

ORM Evaluation Criteria

Evaluation Of ORMs

ORM Performance Analysis

Exposing the ORM cache

ORM impedance mismatch

Planification de la recherche

Exécution du protocole de la recherche

Conclure la revue et exposer les résultat

1

3

2

Page 25: Présentation PFE VF 3.0pptx

B www.bolodewo.com

Planification de la recherche25

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

Page 26: Présentation PFE VF 3.0pptx

B www.bolodewo.com

Exécution du protocole de la recherche26

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

Page 27: Présentation PFE VF 3.0pptx

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 1453

‘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

Page 28: Présentation PFE VF 3.0pptx

B www.bolodewo.com

Limitations28

Les résultats sont incomplets

Les résultats ne sont pas mis à jour

Nombre de publications limité

Absence d’une méthodologie d’évaluation

Page 29: Présentation PFE VF 3.0pptx

B www.bolodewo.com

PROCESSUS D’EVALUATION DES ORMS

Page 30: Présentation PFE VF 3.0pptx

B www.bolodewo.com

30Modèle de qualité des ORMs

(Basé sur ISO 9126)

Line 3D InfographicMaintenabilité

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

Page 31: Présentation PFE VF 3.0pptx

B www.bolodewo.com

31Le processus de sélection des ORMs

0302

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

Page 32: Présentation PFE VF 3.0pptx

B www.bolodewo.com

32Le processus de sélection des ORMs 01Choix des critères

d’évaluation

0302

01

w

Choix et pondération des critères

Définition des besoins, spécifications fonctionnelles et techniques

et des resources

Page 33: Présentation PFE VF 3.0pptx

B www.bolodewo.com

33

Mapping

Classification des critères

• Support de mapping de l’héritage, les relations n-m, 1-n…etc

Page 34: Présentation PFE VF 3.0pptx

B www.bolodewo.com

34

Mapping

Gestion• Support des mise à jours en cascade

• Support des transactions

• …etc

Classification des critères

Page 35: Présentation PFE VF 3.0pptx

B www.bolodewo.com

35

MappingLorem 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

Page 36: Présentation PFE VF 3.0pptx

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

Page 37: Présentation PFE VF 3.0pptx

B www.bolodewo.com

37

Mapping

Gestion

Requêtes

Performanceadipiscing elit. Curabitur elementum

posuere pretium.

Optimisations

• Support de cache• Support de batch• Support de

chargement immediat/ différé

• …etc

Classification des critères

Page 38: Présentation PFE VF 3.0pptx

B www.bolodewo.com

38

Mapping

Gestion

Requêtes

Cout

Performance

Optimisations

• Prix• Open Source/

Commercial• Temps

d’apprentissage• …etc

Classification des critères

Page 39: Présentation PFE VF 3.0pptx

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

Page 40: Présentation PFE VF 3.0pptx

B www.bolodewo.com

40

Mapping

Gestion

Requêtes

Ecosystème

Cout

Performance

Optimisations

• Maturité, Communauté ..,etc

Classification des critères

Support et apprentissage

Page 41: Présentation PFE VF 3.0pptx

B www.bolodewo.com

41Sé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    

Page 42: Présentation PFE VF 3.0pptx

B www.bolodewo.com

42Le 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

01Choix des critères d’évaluation

02Attribution des poids

0302

01 Choix et pondération des critères

Définition des besoins, spécifications fonctionnelles et techniques et des

resources

Page 43: Présentation PFE VF 3.0pptx

B www.bolodewo.com

43Le processus de sélection des ORMs

0302

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

Page 44: Présentation PFE VF 3.0pptx

B www.bolodewo.com

44Méthode de sélection

MAUT (Multi-Attribut Utility Theory)

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 jCritère iCritère kNiveau

de support

Page 45: Présentation PFE VF 3.0pptx

B www.bolodewo.com

45Mé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=

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

Page 46: Présentation PFE VF 3.0pptx

B www.bolodewo.com

46Niveau 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

Page 47: Présentation PFE VF 3.0pptx

B www.bolodewo.com

CONCEPTION ET IMPLEMENTATION

Page 48: Présentation PFE VF 3.0pptx

B www.bolodewo.com

48Architecture

DAL Couche d’access aux

données

Test SuitesLogiques des tests

Test Runner Logique d’exécution des

test

ViewCouche présentation

Com

mon

View

ViewModel

Model

Page 49: Présentation PFE VF 3.0pptx

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

Page 50: Présentation PFE VF 3.0pptx

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.

371Qualité du SQL généré pour une requête complexe (fonction d’agrégation + jointures + trie + groupement)

50

Page 51: Présentation PFE VF 3.0pptx

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

Page 52: Présentation PFE VF 3.0pptx

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

Page 53: Présentation PFE VF 3.0pptx

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

Page 54: Présentation PFE VF 3.0pptx

B www.bolodewo.com

TESTS ET RESULTATS

Page 55: Présentation PFE VF 3.0pptx

B www.bolodewo.com

Ultimate NHibernate Entity Framework

Data Access

55

Approches de mapping

Types de données

Mapping d’une table sur plusieurs classesMapping 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

Page 56: Présentation PFE VF 3.0pptx

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

Page 57: Présentation PFE VF 3.0pptx

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

Page 58: Présentation PFE VF 3.0pptx

B www.bolodewo.com

Moins est mieux

Résultats des tests de performances 58

SQL Server

CUD Simple

LINQ

Sql dérivé

SQL natif

0

5

10

15

20

25

Nhibernate

EntityFramework

ADO.NET

DataAccess2.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

Page 59: Présentation PFE VF 3.0pptx

B www.bolodewo.com

Moins est mieux

Résultats des tests de performances (CUD par lot)

59

SQL Server

10 50 100 250 500 10000

200

400

600

800

1000

1200

DataAccessNHibernate EntityFramework

10 50 100 250 500 10000

200400600800

100012001400160018002000

Insertion par lot

Suppression par lot

Modification par lot

10 50 100 250 500 10000

50

100

150

200

250

300

350

Page 60: Présentation PFE VF 3.0pptx

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 chaque ORM

DataAccessNHibernate EntityFramework

Page 61: Présentation PFE VF 3.0pptx

B www.bolodewo.com

Moins est mieux

Résultats des tests de performances 61

Oracle

CUD Simple

LINQ

Sql dérivé

SQL natif

0

5

10

15

20

25

30

Nhibernate

EntityFramework

DataAccess

ADO.NET

3.75

18.55

23

12.12.51

24.33

18

10.21

9.87

0

25.48

0.997

Nhibernate EntityFramework DataAccess ADO.NET

Page 62: Présentation PFE VF 3.0pptx

B www.bolodewo.com

Moins est mieux

Résultats des tests de performances (CUD par lot)

62

OracleDataAccessNHibernate EntityFramework

Insertion par lot

Suppression par lot

Modification par lot

10 50 100 250 500 10000

200

400

600

800

1000

1200

1400

1600

10 50 100 250 500 10000

200

400

600

800

1000

1200

1 2 3 4 5 60

50

100

150

200

250

300

350

Page 63: Présentation PFE VF 3.0pptx

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

Page 64: Présentation PFE VF 3.0pptx

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 Data Access 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

Page 65: Présentation PFE VF 3.0pptx

B www.bolodewo.com

CONCLUSION ET PERSPECTIVES

Page 66: Présentation PFE VF 3.0pptx

B www.bolodewo.com66

ConclusionIdentification 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ères3. 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

Page 67: Présentation PFE VF 3.0pptx

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

Page 68: Présentation PFE VF 3.0pptx

B www.bolodewo.com

Merci pour votre Attention