1 / 33

Conception et développement d’un système d’information basé sur XML

Projet de Mater EPFL, Section Informatique. Conception et développement d’un système d’information basé sur XML. Tania Magnenat. 17 mars 2006. Plan de la présentation. Introduction Cadre et objectifs du projet Analyse des besoins et choix technologiques

lael-potts
Download Presentation

Conception et développement d’un système d’information basé sur XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Projet de Mater EPFL, Section Informatique Conception et développement d’un système d’information basé sur XML Tania Magnenat 17 mars 2006

  2. Plan de la présentation • Introduction • Cadre et objectifs du projet • Analyse des besoins et choix technologiques • Fonctionnement actuel/futur de la gestion • Étude technologique: frameworks et base de données • Conception • Architecture, formulaires et schéma de base de données • Développement du système • Services web et interface • Conclusions • Travaux futures et perspectives

  3. Introduction – Cadre général (1) • Cadre du travail de master: conception et développement d’un système d’information basé sur les technologies XML pour le Center for Global Computing (CGC) • Le Center for Global Computing • Centre de compétences interdisciplinaire de l’EPFL • Mise en œuvre et suivi d’activité de recherche • Aide au montage et à la gestion (administrative, financière et scientifique) de projets de recherche

  4. Gestion: fonctionnement actuel Centre des finances Acteurs: Secrétaire Coordinateur du projet

  5. Introduction – Cadre général (2) • Motivations • Actuellement: gestion faite à la main (feuilles Excel) • Problèmes: • Toujours plus de projets et donc de données • Suivi et maintenance très difficiles • Cohérence des données pas garantie • La taille des fichiers et le versioning sont problématiques • Perte d’informations et erreurs dans la gestion

  6. Gestion: fonctionnement futur Acteurs: Centre des finances Secrétaire Coordinateur du projet Interface Formulaires BD

  7. Pourquoi ne pas utiliser une application générale? Solution pas triviale • Impossibilité d’utiliser les applications existantes pour la gestion de projets (ex. MS Project) • Besoins trop spécifiques (génération de vues, tables, formulaires, calculs, ...) • Structure assez particulière • Nécessité de développer un système spécialisé

  8. Introduction - Objectifs • Implémentation de deux modules du système d’information du CGC • Reportingpériodique: justification des dépenses et des ressources deployées • Gestion du personnel • Buts du projet • Comprendre la gestion de projets pour structurer les données • Automatiser la gestion • Stocker les données de manière sure • Accès/Modification des données via une interface graphique • Résultat: système automatique capable de remplacer l’actuel système manuel

  9. Phase I Choix technologiques

  10. Choix Technologique • Va influencer les performances et les futurs développement de l’application • Important: • Trouver les solutions les plus adéquates • Choisir des technologies ouvertes • Garantir l’évolutivité du système

  11. Frameworks • Définition: infrastructure logicielle qui facilite la conception d’applications • Avantages: • Meilleure structuration des différents éléments • Séparation entre la couche présentation et les autres couches (transactions et données) • Pourquoi utiliser un framework ? • Pour une maintenance plus aisée de l’application • Pour une meilleure répartition des tâches entre les diverses personnes travaillant sur l’application

  12. Frameworks - Éléments de comparaison • Open source • Validation des données (côté client ou côté serveur) • Technologies utilisées (JSP et Servlet ou XML) • Implémentation de la notion de pipeline (traitement des données par enchaînement des opérations)

  13. Frameworks - Étude comparative

  14. Base de données • Choix de la base de données (pour des documents XML) • Dépend du type de documents à stocker (centrés données ou centrés documents) • Diverses possibilités pour le stockage: • Système de fichiers • Blobs dans une base de données relationnelle • Mapping du schéma • Base de données native XML

  15. Base de données - Éléments de comparaison • Base de données relationnelles • Type de licence • Plates-formes • Conformité au standard SQL • Stabilité et vitesse • Sécurité, gestion de la concurrence et des transactions • Base de données natives XML • Type de licence • Plates-formes • Gestion de la concurrente, de la sécurité et des transactions • Mises à jour et APIs disponibles

  16. Étude comparative - BD

  17. Solution retenue - Framework • Choix final: Orbeon Presentation Server • Repose sur les technologies XML • Utilisation de la recommandation W3C XForms • Langage de pipeline plus complet par rapport à celui de Cocoon • Utilisation de Ajax (validation des données du côté du client)

  18. Solution retenue - Base de données • Choix difficile: • Pas de solution XML totalement satisfaisante (open source, robuste et avec une gestion de la sécurité et des transactions) • Choix final: MySQL 5.0 • Base de données relationnelles • Performante, fiable et simple d’utilisation • Offre une bonne protection des données

  19. Phase II Conception

  20. Architecture SOA: S’appuie sur un ensemble de services Décomposition en fonctions basiques Avantages: Modularité Réutilisabilité Meilleures possibilités d’évolution Maintenance plus facile Architecture Form Form XSLT WS WS WS MySQL

  21. Pourquoi utiliser des web services? • Interopérabilité entre diverses applications • Permettent de dialoguer à distance utilisant le réseau web et indépendamment des plates-formes et des langages utilisés • Utilisation de standards et de protocoles ouverts • Message au format XML: facilité de lecture et de compréhension pour les humains • Fonctionnement au travers des firewalls

  22. Analyse du reporting et de la gestion du personnel • Rappel: le but du projet est de structurer les données afin d’automatiser la gestion • Grand travail d’analyse et de compréhension du reporting et de la gestion du personnel • Discussions avec le management team du CGC • Analyse des feuilles Excel • Résultats: • Formalisation des formules nécessaires à la création des tables • Création des formulaires pour la saisie des données • Création d’un schéma pour la base de données (structuration des données)

  23. Phase III Développement du système

  24. Déploiement des Web Services • Apache Axis • Implémentation de la spécification SOAP (successeur de Apache SOAP) • Architecture modulaire et extensible • Développement de services web en Java • Outil très simple à utiliser: il suffit de créer les classes Java et les déplacer dans le bon répertoire pour les « transformer » en service web • Génération à la volée la description WSDL des services déployés

  25. Un exemple pour mieux comprendre l’interaction OPS – WS – MySQL (1) WS: Projects Method: getProjects() Update OK WS: Projects Method: getProject() WS: Projects Method: updateProject()

  26. Un exemple pour mieux comprendre l’interaction OPS – WS – MySQL (2) WS: Projects Method: getProjects() OPS: données XML

  27. Un exemple pour mieux comprendre l’interaction OPS – WS – MySQL (3) WS: Projects Method: getProject() OPS: données XML

  28. Un exemple pour mieux comprendre l’interaction OPS – WS – MySQL (4) Update OK WS: Projects Method: updateProject()

  29. Conclusions • Objectifs atteints: • Données structurées • Automatisation du système de gestion L’actuel système peut être remplacé • Avantages: • Cohérence et versioning des données garantis • Maintenance et suivi plus simples • Système extensible • Portabilité et génération de vues multiples  Meilleure gestion financière et administrative

  30. Travaux futurs et perspectives (1) • Collecte d’informations • Connexion directe entre le centre des finances (SAP) et le SI • Discussions en cours entre le CGC et les administrateurs SAP de l’EPFL Centre des finances SI • Intégration dans un système plus grand • Futur très proche: développement d’autres modules (prévisions financières, gestion de l’information scientifique, …) • Garantir l’interopérabilité entre tous les modules du SI

  31. Travaux futurs et perspectives (2) • Stockage des données • Actuellement: documents centrés données, donc aucune perte d’information avec la BD relationnelle utilisée • Futur très proche: ajout de modules avec des documents centrés documents (ex. Delivrables) • Ajout d’une base de données permettant le stockage de documents centrés documents sans perte d’information • Sécurité des documents XML • XML: facilement lisible par les humains • Cryptage des données XML afin de les protéger

  32. Démo http://globalcomputing.epfl.ch:8080/CGC Insertion, Modification et Visualisation des données

  33. Questions

More Related