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.

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

Mathilde VINCENT - Olivier JOURDAN Paris - le 7/2/2012
Module 5 : Implémentation de l'impression
CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
ACubeOLAP Client Olap en ACube.
SITools Présentation de l’outil (1/2)
Serveurs web pour JSP et Servlets
JXDVDTEK – Une DVDthèque en Java et XML
INTRODUCTION INTRODUCTION ERGONOMIE Tri par cartes Formulaires Interface Installation Lanceur Documentation TECHNOLOGIES XML + XSL CSS Formulaires génériques.
Virtualisation dorchestration de services TER Master 1 Infomatique 4 Avril 2008 Encadrant : Philippe Collet.
Exposé de Système - Informatique et Réseau
A L I M E N T A T I O N A G R I C U L T U R E E N V I R O N N E M E N T PhpMyGI une interface générique mysql Interface générique ? Pourquoi une interface.
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix.
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
Environnement Premier projet.
TP 3-4 BD21.
Servlet JAVA.
Conception d’une application de gestion de fiches études
Projet J2EE Maverick XMLBeans Garcel Jean-Baptiste – Le Loc Martin – Muller Thibaut.
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
LES OUTILS POUR LA GOUVERNANCE DES DONNÉES LA PASSION DES DONNÉES LA PRÉCISION DES RÉSULTATS.
Active Directory Windows 2003 Server
PROJET HANDICAPS Certificat de Qualification Professionnelle
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
SERVLETS PRESENTATION
Projet JAVA EE Approfondi
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Gestion des bases de données
Abderrahmane Bouarissa Damien Burglin Arnaud Sansig
Groupe : Marc BENSILHE, Guillaume GOURMENT et Paul FLYE SAINTE MARIE
Création d'un projet Web avec Netbeans
Module 2 : Préparation de l'analyse des performances du serveur
JSP (Java Server Pages)
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
Adaptée du cours de Richard Grin
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
BOUSQUET Alexis - GUILLEMIN Vincent - PETIT Cédric
Module I-C3 : Applications Web IUT R&T 2e année
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
ENGIMA.
 Objet window, la fenêtre du navigateur
Cadre et développement logiciel en géomatique
ETL - Pentaho Data Integration
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Abderrahmane Bouarissa Damien Burglin Arnaud Sansig
LE DATA WAREHOUSE.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Struts.
Gradle permet d'écrire des tâches de constructions dans un fichier de construction en utilisant le langage Groovy Il est possible.
 Formulaires HTML : traiter les entrées utilisateur
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Initiation au JavaScript
Sites Web interactifs 2010 / 2011 / S1 Bernhard Rieder.
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Rapport de Stage : Les Web Services ou la communication
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Objectifs du développement Des agendas culturels et services quotidiens de La Libre Belgique et de La Dernière Heure et proposera des services d’informations.
Projet de session Par Eve Grenier Dans le cadre du cours SCG Réalisation d’applications en SIG Jeudi le 20 avril 2006.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
PROJET DE SESSION PRÉSENTÉ PAR : Rosemarie McHugh DANS LE CADRE DU COURS : SCG Réalisation d’applications en SIG 16 avril 2007.
PROJET DE SESSION DANS LE CADRE DU COURS: SCG Réalisation d’applications en SIG PRÉSENTÉ PAR: Marie-Andrée Levesque 18 AVRIL 2006.
16 novembre 2005 Présentation du projet final Développement d’un plugin pour l’importation de données 3D normalisées pour la plate-forme Gocad Dans le.
Projet de session Cours SCG Réalisation d’application en SIG Présenté par Nidhal Ben Othmen.
Transcription de la présentation:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

Réalisation Index.jsp

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)

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

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

Démonstration

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

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

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

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