diapo stage java & bi

30
Page 1 Free Powerpoint Templates Soutenance de stage Implémentation des contraintes d’intégrité SOLAP dans une architecture ROLAP Tuteurs Irstea : Sandro BIMONTE & Kamal BOULIL Présenté par : Hassan NAZIH Tutrice ISIMA : Myoung-Ah KANG Co-Jury : Alain QUILLIOT

Upload: hassan-nazih

Post on 25-May-2015

927 views

Category:

Technology


1 download

DESCRIPTION

Implémentation des contraintes d'intégrités spatiales dans une architecture ROLAP

TRANSCRIPT

Page 1: Diapo stage Java & BI

Page 1Free Powerpoint Templates

Soutenance de stageImplémentation des contraintes d’intégrité SOLAP

dans une architecture ROLAP

Tuteurs Irstea : Sandro BIMONTE & Kamal BOULIL

Présenté par : Hassan NAZIHTutrice ISIMA : Myoung-Ah KANG Co-Jury : Alain QUILLIOT

Page 2: Diapo stage Java & BI

Page 2

Introduction

ISIMA (Institut Supérieur d’Informatique de modélisation et de leurs applications)

2ème annéeGénie Logiciel et systèmes d’information

Irstea (Institut national de recherche en sciences et technologies pour l’environnement et l’agriculture)

Site d’AubièreEquipe COPAIN

2 avril – 1 septembre 2012

Page 3: Diapo stage Java & BI

Page 3

Plan

I. Introduction

II. Spatial OLAP et les contraintes d’intégrité

III. Etude et Analyse des besoins

IV. Conception des solutions techniques

V. Démonstration

VI. Conclusion

Page 4: Diapo stage Java & BI

Page 4

II. Spatial OLAP et les contraintes d’intégrité

Page 5: Diapo stage Java & BI

Page 5

Entrepôts de données et OLAP

Entrepôt de données« Une collection de données, intégrées, non volatiles et historisées pour la prise de décision »

I. Introduction

II. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

OLAP-Un type d’application informatique-Basé sur l’analyse des données selon plusieurs axes-But : Obtenir des tableaux de bords et des rapports de synthèse pour avoir une vue transversale d’une activité

Page 6: Diapo stage Java & BI

Page 6

Spatial OLAP (1/3)

Spatial OLAP

« Une plate-forme visuelle spécialement conçue pour supporter l’analyse et l’exploration spatio-temporelles rapides et faciles des données multidimensionnelles composées de plusieurs niveaux d’agrégation à l’aide d’affichages cartographiques aussi bien qu’à l’aide de tableaux et diagrammes statistiques » (Bédard, 1997)

I. Introduction

II. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

Exemple d’analyse des données spatiales

Page 7: Diapo stage Java & BI

Page 7

Quels sont les montants de vente par mois, par catégorie de produits et par ville à 50 km de Paris ?

Spatial OLAP (2/3)

I. Introduction

II. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

Exemple de cube des ventes

Page 8: Diapo stage Java & BI

Page 8

Spatial OLAP (3/3)

Oracle Spatial, PostGIS, …

GeoMondrian, Map4Decision, …

Jrubik, GeWOlap, …

Talend

SDI Outils

I. Introduction

II. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

Exemple d’outils utilisés pour l’analyse des données spatiales

Page 9: Diapo stage Java & BI

Page 9

Contraintes d’intégritéConditions que les données doivent satisfaire Vérifiées lors de l’insertion, modification ou suppression des données

Langage de Contraintes Objet (OCL)Standard qui utilise UML (OMG, 2006)Conceptuel, expressif, non ambigu

Spatial OCL (Boulil, 2011)Extension pour les relations topologiques

Contraintes d’intégrité (1/2)

I. Introduction

II. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

Page 10: Diapo stage Java & BI

Page 10

Contraintes d’intégrité (2/2)

Diagramme UML

id_parcelle commune_rattachée

A 12

id_commune

12

Parcelle

Commune

« Une parcelle est déclarée dans une commune elle doit être présente spatialement dans cette commune »

not ( (self.geo) .disjoint (self.commune_rattachee.geo) )context Parcelle inv:

I. Introduction

II. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

Exemple de données incohérentes12A

Page 11: Diapo stage Java & BI

Page 11

Architecture globale

I. Introduction

II. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

Page 12: Diapo stage Java & BI

Page 12

III. Etude et Analyse des besoins

Page 13: Diapo stage Java & BI

Page 13

Génération des schémas (1/3)

Génération du schéma Mondrian

-Vérification des stéréotypes-Résolution d’autres anomalies observées-Adaptation aux spécifications du nouveau profil UML-Extension pour générer le schéma en flocon de neige

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoins 1.Génération des schémas 2.Implémentation des contraintes d’intégrité 3. Intégration de l’outil Spatial OCL2SQLIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

Page 14: Diapo stage Java & BI

Page 14

Génération des schémas (2/3)

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoins 1.Génération des schémas 2.Implémentation des contraintes d’intégrité 3. Intégration de l’outil Spatial OCL2SQLIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

Exemple de modèle (fichier XMI)

Exemple de schéma Mondrian (fichier XML)

Application JAVA

Page 15: Diapo stage Java & BI

Page 15

Génération des schémas (3/3)

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoins 1.Génération des schémas 2.Implémentation des contraintes d’intégrité 3. Intégration de l’outil Spatial OCL2SQLIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

Génération du schéma relationnel nécessite :

-L’utilisation de l’outil spatial OCL2SQL-La Transformation du modèle xmi 2.0 en modèle xmi 1.0-La Génération du fichier des clés primaires

Spatial OCL2SQL

- un outil qui à partir d’un diagramme UML (fichier XMI) génère le code SQL représentant la base de données

Résultat du générateur de code

CREATE TABLE T_Grade (PK_Grade VARCHAR(255) PRIMARY KEY,name VARCHAR(255),value INT);

CREATE TABLE T_Person (PK_Person VARCHAR(255) PRIMARY KEY,FK_grade VARCHAR(255),FK_supervisor VARCHAR(255),age INT,birthDate DATE,dissSubject VARCHAR(255),firstName VARCHAR(255),isMarried NUMBER(1),lastName VARCHAR(255),matDate DATE,matNr INT,soSecNr VARCHAR(255),taxClass VARCHAR(255),type VARCHAR(255),wage INT);

CREATE VIEW OV_EmployeeAS ( SELECT PK_Person,T_Person.age AS age,T_Person.birthDate AS birthDate,T_Person.firstName AS firstName,T_Person.isMarried AS isMarried,T_Person.lastName AS lastName,T_Person.soSecNr AS soSecNr,T_Person.taxClass AS taxClass,T_Person.wage AS wage,FK_grade,FK_supervisorFROM T_PersonWHERE type = "Employee" );

Page 16: Diapo stage Java & BI

Page 16

Implémentation des CI (1/2)

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoins 1.Génération des schémas

2.Implémentation des contraintes d’intégrité 3. Intégration de l’outil Spatial OCL2SQLIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

3 catégories de contraintes de requêtes- Contraintes entre niveaux (InterLevel Query Constraint)- Contraintes entre hiérarchies (InterHierarchy QC)- Contraintes entre membres (InterMembers QC)

Chaque contrainte est implémentée par une requête MDXMDX est le langage standard pour les serveurs OLAP

Page 17: Diapo stage Java & BI

Page 17

Implémentation des CI (2/2)

• Contraintes entre membres– Ex: On ne doit pas calculer la TVA Française sur des produits vendus

aux Etats-Unis

<CalculatedMember name="Total_FR_VATQC" dimension="Measures" formula="[Measures].[Total_FR_VAT]"> <CalculatedMemberProperty name="FORMAT_STRING" expression=" IIf((InStr(SetToStr([QueryConstraint61].[country_name].Members),Cast([Stores].CurrentMember.Properties(&quot;Key&quot;) As String)))) ), &quot;|#|style=red&quot;, &quot;|#|style=green&quot;) )" /> </CalculatedMember>

Transformé en

Résultat dans JRubik

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoins 1.Génération des schémas

2.Implémentation des contraintes d’intégrité 3. Intégration de l’outil Spatial OCL2SQLIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

Page 18: Diapo stage Java & BI

Page 18

Intégration de Spatial OCL2SQL

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoins 1.Génération des schémas 2.Implémentation des contraintes d’intégrité 3. Intégration de l’outil Spatial OCL2SQLIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

Etapes :

-Génération d’un JAR à partir du code source-Ajout du JAR au ClassPath de l’application-Création d’une interface graphique pour l’outil-Attachement de l’interface crée à l’interface principale de l’application

Page 19: Diapo stage Java & BI

Page 19

Intégration de Spatial OCL2SQL

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoins 1.Génération des schémas 2.Implémentation des contraintes d’intégrité 3. Intégration de l’outil Spatial OCL2SQLIV. Conception des solutions techniqueV. DémonstrationVI. Conclusion

Etapes :

-Génération d’un JAR à partir du code source-Ajout du JAR au ClassPath de l’application-Création d’une interface graphique pour l’outil-Attachement de l’interface crée à l’interface principale de l’application

Page 20: Diapo stage Java & BI

Page 20

IV. Conception des solutions techniques

Page 21: Diapo stage Java & BI

Page 21

Diagramme de paquets

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions technique 1.Diagramme de paquets 2. Package SchemaModel 3. Package ModelTransformer 4. Package pkFileGenerator 5. Package QueryICV. DémonstrationVI. Conclusion

Placement des paquets dans par rapport aux couches de l’application

Eléments du profil UML

Créer les structures de données pour les schémas SQL

et XML

Page 22: Diapo stage Java & BI

Page 22

Package SchemaModel

Diagramme de classes du paquet SchemaModel

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions technique 1.Diagramme de paquets

2. Package SchemaModel 3. Package ModelTransformer 4. Package pkFileGenerator 5. Package QueryICV. DémonstrationVI. Conclusion

Page 23: Diapo stage Java & BI

Page 23

Package ModelTransformer

Diagramme de classes du paquet ModelTransformer

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions technique 1.Diagramme de paquets 2. Package SchemaModel 3. Package ModelTransformer 4. Package pkFileGenerator 5. Package QueryICV. DémonstrationVI. Conclusion

Page 24: Diapo stage Java & BI

Page 24

Package pkFileGenerator

Diagramme de classes du paquet pkFileGenerator

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions technique 1.Diagramme de paquets 2. Package SchemaModel 3. Package ModelTransformer 4. Package pkFileGenerator 5. Package QueryICV. DémonstrationVI. Conclusion

Page 25: Diapo stage Java & BI

Page 25

Package QueryIC

Diagramme de classes du paquet QueryIC

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions technique 1.Diagramme de paquets 2. Package SchemaModel 3. Package ModelTransformer 4. Package pkFileGenerator 5. Package QueryICV. DémonstrationVI. Conclusion

Page 26: Diapo stage Java & BI

Page 26

Démonstration

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions technique

V. DémonstrationVI. Conclusion

Page 27: Diapo stage Java & BI

Page 27

Conclusion

I. IntroductionII. Spatial OLAP et les CIIII. Etude et Analyse des besoinsIV. Conception des solutions techniqueV. Démonstration

VI. Conclusion

ObjectifsGénération des schémas -> AtteintImplémentation des contraintes d’intégrité -> AtteintIntégration de l’outil Spatial OCL2SQL -> Atteint

Apprentissage de nouvelles technologies : Spatial OLAP et UML-Spatial OCL, Profil UML

Langages: Spatial OCL, MDX, SQL SpatialOutils: Mondrian, MagicDraw, Oracle Spatial, Jrubik,OCL2SQL

Mise en pratique des technologies :JAVA, XML et bases de données (SQL)

PerspectivesSupport des hiérarchies de type père-filsRendre l’application extensible pour la génération d’autres type de schéma relationnels (PostGIS) et OLAP (Map4Decision)

Page 28: Diapo stage Java & BI

Page 28

Questions ?

Page 29: Diapo stage Java & BI

Page 29

Package IO

Diagramme de classes du paquet IO

I. Cadre du stageII. Spatial OLAP et les CIIII. Etude et Analyse des besoins 1.Génération des schémas 2.Implémentation des contraintes d’intégrité 3. Intégration de l’outil Spatial OCL2SQL

IV. Conception des solutions technique 1.Diagramme de paquets 2. Package SchemaModel 3. Package ModelTransformer 4. Package pkFileGenerator 5. Package QueryIC 6. Package IO 7. Package GUIV. DémonstrationVI. Conclusion

Page 30: Diapo stage Java & BI

Page 30

Package GUI

Classes du paquet GUI

I. Cadre du stageII. Spatial OLAP et les CIIII. Etude et Analyse des besoins 1.Génération des schémas 2.Implémentation des contraintes d’intégrité 3. Intégration de l’outil Spatial OCL2SQL

IV. Conception des solutions technique 1.Diagramme de paquets 2. Package SchemaModel 3. Package ModelTransformer 4. Package pkFileGenerator 5. Package QueryIC 6. Package IO 7. Package GUIV. DémonstrationVI. Conclusion