330 likes | 435 Views
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
E N D
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 • 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
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
Gestion: fonctionnement actuel Centre des finances Acteurs: Secrétaire Coordinateur du projet
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
Gestion: fonctionnement futur Acteurs: Centre des finances Secrétaire Coordinateur du projet Interface Formulaires BD
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é
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
Phase I Choix technologiques
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
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
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)
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
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
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)
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
Phase II Conception
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
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
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)
Phase III Développement du système
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
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()
Un exemple pour mieux comprendre l’interaction OPS – WS – MySQL (2) WS: Projects Method: getProjects() OPS: données XML
Un exemple pour mieux comprendre l’interaction OPS – WS – MySQL (3) WS: Projects Method: getProject() OPS: données XML
Un exemple pour mieux comprendre l’interaction OPS – WS – MySQL (4) Update OK WS: Projects Method: updateProject()
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
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
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
Démo http://globalcomputing.epfl.ch:8080/CGC Insertion, Modification et Visualisation des données