Arte utilise Acquia Cloud pour héberger ses plateformes web
Diapo stage Java & BI
1. 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
2. Page 2
Introduction
ISIMA (Institut Supérieur d’Informatique de modélisation
et de leurs applications)
2ème année
Gé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ère
Equipe COPAIN
2 avril – 1 septembre 2012
3. 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
5. 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 CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
V. Démonstration
VI. 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é
6. 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 CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
V. Démonstration
VI. Conclusion
Exemple d’analyse des données spatiales
7. 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 CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
V. Démonstration
VI. Conclusion
Exemple de cube des ventes
8. Page 8
Spatial OLAP (3/3)
Oracle Spatial,
PostGIS, …
GeoMondrian,
Map4Decision,
…
Jrubik, GeWOlap,
…
Talend
SDI
Outils
I. Introduction
II. Spatial OLAP et les CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
V. Démonstration
VI. Conclusion
Exemple d’outils utilisés pour l’analyse des données spatiales
9. 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 CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
V. Démonstration
VI. Conclusion
10. 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 CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
V. Démonstration
VI. Conclusion
Exemple de
données
incohérentes12A
11. Page 11
Architecture globale
I. Introduction
II. Spatial OLAP et les CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
V. Démonstration
VI. Conclusion
13. 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. Introduction
II. Spatial OLAP et les CI
III. 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
V. Démonstration
VI. Conclusion
14. Page 14
Génération des schémas (2/3)
I. Introduction
II. Spatial OLAP et les CI
III. 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
V. Démonstration
VI. Conclusion
Exemple de modèle (fichier XMI)
Exemple de schéma Mondrian (fichier XML)
Application JAVA
15. Page 15
Génération des schémas (3/3)
I. Introduction
II. Spatial OLAP et les CI
III. 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
V. Démonstration
VI. 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_Employee
AS ( 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_supervisor
FROM T_Person
WHERE type = "Employee" );
16. Page 16
Implémentation des CI (1/2)
I. Introduction
II. Spatial OLAP et les CI
III. 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
V. Démonstration
VI. 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 MDX
MDX est le langage standard pour les serveurs OLAP
17. 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("Key")
As String)))
)
), "|#|style=red", "|#|style=green")
)" />
</CalculatedMember>
Transformé en
Résultat dans JRubik
I. Introduction
II. Spatial OLAP et les CI
III. 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
V. Démonstration
VI. Conclusion
18. Page 18
Intégration de Spatial OCL2SQL
I. Introduction
II. Spatial OLAP et les CI
III. 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
V. Démonstration
VI. 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
19. Page 19
Intégration de Spatial OCL2SQL
I. Introduction
II. Spatial OLAP et les CI
III. 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
V. Démonstration
VI. 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
21. Page 21
Diagramme de paquets
I. Introduction
II. Spatial OLAP et les CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
1.Diagramme de paquets
2. Package SchemaModel
3. Package ModelTransformer
4. Package pkFileGenerator
5. Package QueryIC
V. Démonstration
VI. 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
22. Page 22
Package SchemaModel
Diagramme de classes du paquet SchemaModel
I. Introduction
II. Spatial OLAP et les CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
1.Diagramme de paquets
2. Package SchemaModel
3. Package ModelTransformer
4. Package pkFileGenerator
5. Package QueryIC
V. Démonstration
VI. Conclusion
23. Page 23
Package ModelTransformer
Diagramme de classes du paquet ModelTransformer
I. Introduction
II. Spatial OLAP et les CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
1.Diagramme de paquets
2. Package SchemaModel
3. Package ModelTransformer
4. Package pkFileGenerator
5. Package QueryIC
V. Démonstration
VI. Conclusion
24. Page 24
Package pkFileGenerator
Diagramme de classes du paquet pkFileGenerator
I. Introduction
II. Spatial OLAP et les CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
1.Diagramme de paquets
2. Package SchemaModel
3. Package ModelTransformer
4. Package pkFileGenerator
5. Package QueryIC
V. Démonstration
VI. Conclusion
25. Page 25
Package QueryIC
Diagramme de classes du paquet QueryIC
I. Introduction
II. Spatial OLAP et les CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
1.Diagramme de paquets
2. Package SchemaModel
3. Package ModelTransformer
4. Package pkFileGenerator
5. Package QueryIC
V. Démonstration
VI. Conclusion
26. Page 26
Démonstration
I. Introduction
II. Spatial OLAP et les CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
V. Démonstration
VI. Conclusion
27. Page 27
Conclusion
I. Introduction
II. Spatial OLAP et les CI
III. Etude et Analyse des besoins
IV. Conception des solutions technique
V. Démonstration
VI. Conclusion
Objectifs
Génération des schémas -> Atteint
Implémentation des contraintes d’intégrité -> Atteint
Intégration de l’outil Spatial OCL2SQL -> Atteint
Apprentissage de nouvelles technologies :
Spatial OLAP et UML-Spatial OCL, Profil UML
Langages: Spatial OCL, MDX, SQL Spatial
Outils: Mondrian, MagicDraw, Oracle Spatial, Jrubik,OCL2SQL
Mise en pratique des technologies :
JAVA, XML et bases de données (SQL)
Perspectives
Support des hiérarchies de type père-fils
Rendre l’application extensible pour la génération d’autres type
de schéma relationnels (PostGIS) et OLAP (Map4Decision)
29. Page 29
Package IO
Diagramme de classes du paquet IO
I. Cadre du stage
II. Spatial OLAP et les CI
III. 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 GUI
V. Démonstration
VI. Conclusion
30. Page 30
Package GUI
Classes du paquet GUI
I. Cadre du stage
II. Spatial OLAP et les CI
III. 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 GUI
V. Démonstration
VI. Conclusion
Notes de l'éditeur
Bonjour Madame, Bonjour Messieurs, Je tiens pour commencer à vous adresser, mes sincères remerciements pour votre lecture, votre présence aujourd’hui et les remarques qui viendront enrichir ce travail que j’aurai plaisir à partager et discuter avec vous. J‘espère être à la hauteur et bien exposer mon sujet de stage fait à Irstea qui s’intitule « Implémentation …» et durant lequel j’ai été encadré par Messieurs Sandro BIMONTE et Kamal BOULIL du coté d’Irstea et Mme Myoung-Ah KANG du côté ISIMA.
Je suis un étudiant de deuxième année à l’ISIMA, j’ai fais mon stage à Irstea anciennement connu par Cemagref et plus précisément j’ai intégré l’équipe COPAIN qui travaille sur les méthodes d’ingénierie des systèmes d’informations spatialisés dédiés à la gestion des données agri-environnementaux. Ce stage qui a duré 5 mois a commencé le 2 avril et finira à la fin de ce mois. J’ai choisi ce stage car je savais qu’il va me donner l’opportunité de découvrir un nouveau monde que celui de la Business Intelligence auquel j’accordais beaucoup d’interet. La construction et l'analyse des données d'un entrepôt de données nécessitent la création d'un schéma XML et d'un schéma relationnel. Manuellement, ces deux tâches demandent beaucoup de temps. L'objectif du stage est de reprendre le travail d’un ancien stagiaire d’Irstea et finaliser une application JAVA qui permet d'économiser ce temps, en mettant à la disposition de l'équipe COPAIN une boite d'outils permettant la génération automatique des schémas. Une analyse et conception détaillée du problème a été réalisée au début du stage, et à la fin l'application a satisfait tous les besoins actuels de l'équipe.
Pour présenter le travail que j’ai l’honneur de soumettre à votre jugement, j’aborderai successivement trois points principaux : une exploration des notions fondamentales du spatial OLAP et des contraintes d’intégrité étudiées lors du stage. J’évoquerais ensuite la phase d’analyse des besoins exprimés par mon maître de stage et je passerai une aperçu sur la partie de conception des solutions techniques proposées. Je terminerai par une démonstration de l’application finale qui jouera le rôle de diagramme d’activité à cette présentation ainsi qu’une annexe au rapport.
Commençant par qu’est ce qu’un entrepôt de données. ….. Parmi les applications qui gérent ces entrepôt de données, on retrouve l’OLAP qui est basée sur une analyse des données d’une façon multidimmensionnelle, auttrement dit les analyses se font selon plusieurs axes. L’objectif de ce type d’application est d’obtenir des tableaux de bords et des rapports de synthèse permettant d’avoir une vue transversale sur une activité.
Le spatial OLAP est une extension de l’OLAP qui permet le traitement des données spatiales. Elle ajoute la notion de cartographie assurant l’analyse d’une activité selon un cadre spatial.
La figure suivante représente un exemple de cube spatial pour l’analyse des ventes. Il est composé de trois dimensions : Product, Time et Store. A travers ce cube, nous pouvons analyser les ventes d’un produit dans un magasin et à un intervalle de temps bien défini. On peut avoir une granularité différente des informations en agrégeant les mesures de la table de fait. Aussi, les niveaux des dimensions permettent d’avoir un détail différent à chaque profondeur.
Une application SOLAP se construit en extrayant les données à partir des sources de données telles que les bases de données, les fichiers, les capteurs … et en les chargeant dans un entrepôt de données. Ensuite, cet entrepôt de données est géré par un serveur d’analyse Comme Mondrian qui permet de répondre aux requêtes analytiques des décideurs et de leurs répondre à travers des logiciels de reporting SOLAP tels que Jrubik.
Les contraintes d’intégrité représente les conditions que les données d’un entrepôt de données doivent satisfaire, elles sont verifiées lors de l’insertion, modification ou suppression des données à l’aide de plusieurs mécanismes offerts par les SGBD. Elles peuvent être exprimées de plusieurs manières : à l’aide d’un langage naturel comme l’OCL, en utilisant des symboles et pictogrammes ou en mélangeant les deux. Durant mon stage, on formule nos contraintes d’intégrité en utilisant le langage Spatial OCL qui est …… Je vais vous présenter un exemple de contraintes dans la diapo suivante.
L’architecture globale qui définit le contexte de l’application se présente comme suit : L’utilisateur crée son modèle conceptuel à l’aide de MagicDraw puis il l’exporte sous un format XMI 2.1. Grâce à l’application développée au cours de ce stage, on peut générer le code sql de l’entrepôt de données définis dans le modèle ainsi que le XML Mondrian.