La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Implémentation d’une interface pour l’exécution d’ETL à distance Projet de développement logiciel dans le cadre du cours SCG 64739 : « Réalisation d’Applications.

Présentations similaires


Présentation au sujet: "Implémentation d’une interface pour l’exécution d’ETL à distance Projet de développement logiciel dans le cadre du cours SCG 64739 : « Réalisation d’Applications."— Transcription de la présentation:

1 Implémentation d’une interface pour l’exécution d’ETL à distance Projet de développement logiciel dans le cadre du cours SCG 64739 : « Réalisation d’Applications en SIG » Présenté par Charlotte Declercq Lundi 16 avril 2007

2 Plan de la présentation  Contexte  Analyse  Réalisation  Démonstration  Calendrier  Tests et suggestions

3 Contexte  Gros volume de données provenant de sources transactionnelles  Données agrégées, non volatiles –Pré calculées ou non –Cube de données  Système d’information décisionnel –Analyser rapidement les données d’une organisation  Intérêt récent pour des données localisées –Naissance du SOLAP (U. Laval & Kheops) Entrepôts de données géodécisionnels

4 Contexte  Cube Dimension Mesure  Structure transactionnelle -> schéma étoile ou structure multidimensionnelle  En amont de l’entrepôt (ETL): –Extract –Transform : Filtrage, codage, synchronisation –Load : peuplement du cube ETL : Construction de l’entrepôt

5 Contexte  « Développement d’un service web de propagation des mises à jour au sein d’entrepôts de données géodécisionnels »  But : reconstruction des parties utiles du cube (ETL) –propager les mises à jour  Service web : architecture orientée services –Interopérabilité, traitements géographiques à distance, maîtrise du processus Sujet de maîtrise

6 Contexte  Développer une application qui permet de lancer la propagation des mises à jour à distance –donc : ETL via web  Objectifs spécifiques –Exécuter des transformations définies –Exécuter des transformations distantes –Charger des transformations Définition du projet

7 Analyse Architecture Client Web Tiers Client Serveur Web Conteneur de Servlets et de JSP Tiers Web API GeoKettle Bibilothèque de Transformations /Jobs http / xhtml JSP Servlet jdbc Bases de données

8 Analyse  Base de données : PostgreSQL / Postgis –Open source –Postgis : gestion des objets spatiaux –PGAdmin  ETL : Kettle (Pentaho) –Open Source –Gère l’évolution temporelle des dimensions Slowly changing dimensions (Kimball) –Importe et exporte du XML –Outil complet et en évolution –GeoKettle Choix des technologies

9 Analyse  Serveur web : Tomcat –Communauté Apache –Conteneur de Servlets et de JSP –Portable (Java)  Langage de programmation : Java –Pour les servlets et jsp –Api kettle en java –Orienté objet, portable, gratuit, robuste  Format de stockage des transformations et des jobs: xml –Interopérabilité Choix des technologies

10 Analyse  API FileUpload (Apache) –Upload de fichiers à partir de formulaires HTML  IDE: Eclipse Web Tools Platform Project –Développement J2EE –Écriture de Servlets et JSP, export WAR –Intégration de serveurs web –Débuguer sur serveur  SIG uDig –Open source Choix des technologies

11 Analyse Fonctionnement de l’application Exécuter à distance: une transformation/job définie sur le serveur Une transformation/job disponible à une autre adresse Charger une transformation/job et l’exécuter ensuite

12 Conception  2 membres : région et province:  Utilisation du WKT: INSERT INTO "Region" VALUES (1, 'Montreal', GeomFromText('POLYGON((4 0,6 0,6 2,4 2,4 0))',-1), 2); Dimension géométriques

13 Conception  Kettle Spoon: –Job = U (transformations) –Transformation  Chargement des données dans la table dim_spatiale_geom Définition de la transformation dans Kettle Load_dim_spatial_trans

14 Reçoit les paramètres: Emplacement du fichier xml (.kjb ou.ktr) et appelle l’exécution runKitchen Conception Diagramme de classes Exécute le job et affiche le log Upload un fichier

15 Conception Fichier.ktr Transformation: Informations: log, server, user, date Transformation: Informations: log, server, user, date Connection à PostgreSQL Sauts Transformation: Informations: log, server, user, date Connection à PostgreSQL Sauts (hops) Transformation: Informations: log, server, user, date Connection à PostgreSQL Sauts Steps: nom, type, table de sortie, champs (type d’update)… Transformation: Informations: log, server, user, date Connection à PostgreSQL Sauts Steps: nom, type, table de sortie, champs (type d’update)… GUI Accepte type geom (GeoKettle)

16 Réalisation Index.jsp

17 Réalisation Servlet ExecuteTrans  Méthode Get: exécution d’une transformation disponible sur le serveur  Méthode Post: exécution d’une transformation distante Télécharge le fichier sur le serveur Définit les paramètres de ligne de commande pour l’exécution de Pan (url du fichier+ url du fichier de log) Exécute Pan (classe runpan)

18 Réalisation Classe RunPan  Kettle contient Pan.java: –exécution des transformations en ligne de commande –un main  RunPan: –Reprise du main de Pan dans la méthode Execute() –Simplification du code de Pan –Ajout de l’affichage du log dans la page web

19 Réalisation Servlet FileUp  Utilisation de l’API FileUpload d’Apache: –Récupérer des fichiers à partir de formulaires html –Encodage multipart/form-data exigé dans le formulaire

20 Démonstration

21 Calendrier  Définition du projet (3h)  Redéfinition du projet (3h)  Constitution des tables région et province (10h)  Étude de Kettle (60h) –Prise en main de Spoon –Définition du job et de la transformation –Autres fonctionnalités (forum Pentaho) –Choix : écrire mes servlets et pas adapter Carte  Configuration et prise en main (15h) –Eclipse (WTP) –Tomcat  Implémentation des servlets (30h)  Tests et améliorations (10h) –Execution d’une transformation/job distant –Upload d’une transformation/job ? Quel service implanter

22 Tests  Le système fonctionne bien.  Limite : il semble que l’on doive exécuter un job avant pour initialiser une variable dans Kettle –Problème de variable de processus non résolu pour le projet.  Limite : le log est écrit dans un fichier puis lu –Ne gère pas les exécutions simultanées  Ne gère pas l’upload de gros fichiers Résultats

23 Suggestions  Modification de la date lors de la modification d’un enregistrement  Exécuter à partir du repository  Uploader directement dans le repository  Mieux gérer l’affichage du log  Modifier Carte (serveur fourni avec Kettle)  Laisser l’usager paramétrer ses transformations/jobs –Sujet de maîtrise Implémenter le tout sous forme d’un service web Améliorations

24 Merci de votre écoute !  Etienne Dubé pour son aide précieuse et sa patience  Thierry Badard pour ses conseils Remerciements Questions?


Télécharger ppt "Implémentation d’une interface pour l’exécution d’ETL à distance Projet de développement logiciel dans le cadre du cours SCG 64739 : « Réalisation d’Applications."

Présentations similaires


Annonces Google