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

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

description

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 - PowerPoint PPT Presentation

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

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

Conception et Conception et développement d’un développement d’un

système d’information système d’information basé sur XMLbasé sur XML

Tania MagnenatTania Magnenat

Projet de MaterProjet de Mater

EPFL, Section InformatiqueEPFL, Section Informatique

17 mars 200617 mars 2006

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

2

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

Plan de la présentationPlan de la présentation

► IntroductionIntroduction Cadre et objectifs du projetCadre et objectifs du projet

► Analyse des besoins et choix technologiquesAnalyse des besoins et choix technologiques Fonctionnement actuel/futur de la gestionFonctionnement actuel/futur de la gestion Étude technologique: Étude technologique: frameworksframeworks et base de et base de

donnéesdonnées► ConceptionConception

Architecture, formulaires et schéma de base de Architecture, formulaires et schéma de base de donnéesdonnées

►Développement du systèmeDéveloppement du système Services web et interfaceServices web et interface

► ConclusionsConclusions Travaux futures et perspectivesTravaux futures et perspectives

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

3

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

Introduction – Cadre général Introduction – Cadre général (1)(1)

► Cadre du travail de masterCadre du travail de master: conception et : conception et développement d’un système d’information développement d’un système d’information basé sur les technologies XML pour le basé sur les technologies XML pour le Center Center for Global Computingfor Global Computing (CGC) (CGC)

► Le Le Center for Global ComputingCenter for Global Computing Centre de compétences interdisciplinaire de l’EPFLCentre de compétences interdisciplinaire de l’EPFL Mise en œuvre et suivi d’activité de rechercheMise en œuvre et suivi d’activité de recherche Aide au montage et à la gestion (administrative, Aide au montage et à la gestion (administrative,

financière et scientifique) de projets de recherchefinancière et scientifique) de projets de recherche

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

4

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

Gestion: fonctionnement Gestion: fonctionnement actuelactuel

Centre des finances

Secrétaire

Coordinateur du projet

Acteurs:

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

5

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

Introduction – Cadre général Introduction – Cadre général (2)(2)

►MotivationsMotivations Actuellement: gestion faite à la main Actuellement: gestion faite à la main

(feuilles Excel)(feuilles Excel) Problèmes:Problèmes:

►Toujours plus de projets et donc de donnéesToujours plus de projets et donc de données►Suivi et maintenance très difficilesSuivi et maintenance très difficiles►Cohérence des données pas garantieCohérence des données pas garantie►La taille des fichiers et le La taille des fichiers et le versioningversioning sont sont

problématiquesproblématiquesPerte d’informations et erreurs dans la gestionPerte d’informations et erreurs dans la gestion

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

6

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

Gestion: fonctionnement Gestion: fonctionnement futurfutur

Centre des finances

Interface

Formulaires

BD

Secrétaire

Acteurs:

Coordinateur du projet

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

7

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

Pourquoi ne pas utiliser une Pourquoi ne pas utiliser une application générale?application générale?

Solution pas trivialeSolution pas triviale

► Impossibilité d’utiliser les applications existantes Impossibilité d’utiliser les applications existantes pour la gestion de projets (ex. pour la gestion de projets (ex. MS ProjectMS Project) ) Besoins trop spécifiques (génération de vues, tables, Besoins trop spécifiques (génération de vues, tables,

formulaires, calculs, ...)formulaires, calculs, ...) Structure assez particulièreStructure assez particulière

Nécessité de développer un Nécessité de développer un système système spécialiséspécialisé

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

8

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

Introduction - ObjectifsIntroduction - Objectifs

► Implémentation de deux modules du système Implémentation de deux modules du système d’information du CGCd’information du CGC ReportingReporting périodique: justification des dépenses et des périodique: justification des dépenses et des

ressources deployéesressources deployées Gestion du personnelGestion du personnel

► Buts du projetButs du projet Comprendre la gestion de projets pour structurer les Comprendre la gestion de projets pour structurer les

donnéesdonnées Automatiser la gestionAutomatiser la gestion Stocker les données de manière sureStocker les données de manière sure Accès/Modification des données via une interface graphiqueAccès/Modification des données via une interface graphique

Résultat: système automatique capable de remplacer Résultat: système automatique capable de remplacer l’actuel système manuell’actuel système manuel

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

99

Phase IPhase I

Choix technologiquesChoix technologiques

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

10

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

Choix TechnologiqueChoix Technologique

►Va influencer les performances et les Va influencer les performances et les futurs développement de l’applicationfuturs développement de l’application

► Important: Important: Trouver les solutions les plus adéquatesTrouver les solutions les plus adéquates Choisir des technologies ouvertesChoisir des technologies ouvertes

Garantir l’évolutivité du systèmeGarantir l’évolutivité du système

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

11

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

FrameworksFrameworks

►DéfinitionDéfinition: infrastructure logicielle qui facilite : infrastructure logicielle qui facilite la conception d’applicationsla conception d’applications

► Avantages:Avantages: Meilleure structuration des différents élémentsMeilleure structuration des différents éléments Séparation entre la couche présentation et les Séparation entre la couche présentation et les

autres couches (transactions et données)autres couches (transactions et données)

► Pourquoi utiliser un Pourquoi utiliser un framework framework ?? Pour une Pour une maintenancemaintenance plus aisée de l’application plus aisée de l’application Pour une Pour une meilleure répartitionmeilleure répartition des tâches entre des tâches entre

les diverses personnes travaillant sur l’applicationles diverses personnes travaillant sur l’application

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

12

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

FrameworksFrameworks - Éléments de - Éléments de comparaisoncomparaison

►Open sourceOpen source►Validation des données (côté client ou Validation des données (côté client ou

côté serveur)côté serveur)►Technologies utilisées (JSP et Technologies utilisées (JSP et ServletServlet

ou XML)ou XML)► Implémentation de la notion de Implémentation de la notion de

pipelinepipeline (traitement des données par enchaînement des opérations)

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

13

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

FrameworksFrameworks - Étude - Étude comparativecomparative

StrutsStruts JSFJSF CocoonCocoon OPSOPS

Open Open SourceSource

OuiOui

Usage du Usage du MVCMVC

OuiOui NonNon OuiOui

ValidationValidation ServeurServeur ClientClient

TechnologiTechnologieses

Servlets, JSP, …Servlets, JSP, … XMLXML

Standards Standards XMLXML

NonNon OuiOui

PipelinesPipelines NonNon OuiOui

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

14

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

Base de donnéesBase de données

►Choix de la base de données (pour des Choix de la base de données (pour des documents XML)documents XML) Dépend du type de documents à stocker Dépend du type de documents à stocker

(centrés données ou centrés documents)(centrés données ou centrés documents) Diverses possibilités pour le stockage:Diverses possibilités pour le stockage:

► Système de fichiersSystème de fichiers► BlobsBlobs dans une base de données relationnelle dans une base de données relationnelle► MappingMapping du schéma du schéma► Base de données native XMLBase de données native XML

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

15

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

Base de données - Éléments de Base de données - Éléments de comparaisoncomparaison

► Base de données relationnellesBase de données relationnelles Type de licenceType de licence Plates-formesPlates-formes Conformité au standard SQLConformité au standard SQL Stabilité et vitesseStabilité et vitesse Sécurité, gestion de la concurrence et des Sécurité, gestion de la concurrence et des

transactionstransactions► Base de données natives XMLBase de données natives XML

Type de licenceType de licence Plates-formesPlates-formes Gestion de la concurrente, de la sécurité et des Gestion de la concurrente, de la sécurité et des

transactionstransactions Mises à jour et APIs disponiblesMises à jour et APIs disponibles

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

16

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

Étude comparative - BDÉtude comparative - BDMySQL MySQL

5.05.0PostgreSQPostgreSQ

LL

LicenceLicence GPL et GPL et commercialcommercial

ee

BSDBSD

Plates-Plates-formesformes

Windows, Linux, Solaris, …Windows, Linux, Solaris, …

Conformité Conformité SQLSQL

MoyenneMoyenne HauteHaute

StabilitéStabilité Haute-Très Haute-Très HauteHaute

HauteHaute

VitesseVitesse Moyenne-Moyenne-HauteHaute

MoyenneMoyenne

SécuritéSécurité MoyenneMoyenne Moyenne-Moyenne-HauteHaute

ConcurrenceConcurrence OuiOui

TransactionTransactionss

OuiOui

TaminoTamino eXistseXists XindiceXindice

LicenceLicence Commer-Commer-cialeciale

GPLGPL

Plates-Plates-formesformes

Windows, UnixWindows, Unix

Concur-Concur-rencerence

OuiOui Oui Oui (basique)(basique)

NonNon

SécuritéSécurité OuiOui Oui Oui (basique)(basique)

NonNon

Mises à Mises à jourjour

Document et nœudDocument et nœud

Transa-Transa-ctionsctions

OuiOui NonNon

APIsAPIs Java, C, Java, C, PHP, .NEPHP, .NET, JScriptT, JScript

Java, Java, Python, Python,

PHPPHP

JavaJava

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

17

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

Solution retenue - Solution retenue - FrameworkFramework

►Choix final: Choix final: Orbeon Presentation Orbeon Presentation ServerServer Repose sur les technologies XMLRepose sur les technologies XML Utilisation de la recommandation W3C Utilisation de la recommandation W3C

XFormsXForms Langage de Langage de pipelinepipeline plus complet par plus complet par

rapport à celui de rapport à celui de CocoonCocoon Utilisation de Utilisation de AjaxAjax (validation des données (validation des données

du côté du client)du côté du client)

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

18

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

Solution retenue - Base de Solution retenue - Base de donnéesdonnées

►Choix difficile: Choix difficile: Pas de solution XML totalement Pas de solution XML totalement

satisfaisante (open source, robuste et satisfaisante (open source, robuste et avec une gestion de la sécurité et des avec une gestion de la sécurité et des transactions)transactions)

►Choix final: Choix final: MySQL 5.0MySQL 5.0 Base de données relationnellesBase de données relationnelles Performante, fiable et simple d’utilisationPerformante, fiable et simple d’utilisation Offre une bonne protection des donnéesOffre une bonne protection des données

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

1919

Phase IIPhase II

ConceptionConception

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

20

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

ArchitectureArchitecture

► Architecture SOA:Architecture SOA: S’appuie sur un S’appuie sur un

ensemble de servicesensemble de services Décomposition en Décomposition en

fonctions basiquesfonctions basiques► Avantages:Avantages:

ModularitéModularité RéutilisabilitéRéutilisabilité Meilleures possibilités Meilleures possibilités

d’évolutiond’évolution Maintenance plus Maintenance plus

facilefacile

Form

Form

XSLT

MySQL

WSWS

WS

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

21

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

Pourquoi utiliser des Pourquoi utiliser des web web servicesservices??

► Interopérabilité entre diverses applicationsInteropérabilité entre diverses applications Permettent de dialoguer à distance utilisant le Permettent de dialoguer à distance utilisant le

réseau web et réseau web et indépendamment des indépendamment des plates-formes et des langages utilisésplates-formes et des langages utilisés

►Utilisation de standards et de protocoles Utilisation de standards et de protocoles ouvertsouverts

►Message au format XML: facilité de lecture Message au format XML: facilité de lecture et de compréhension pour les humainset de compréhension pour les humains

►Fonctionnement au travers des Fonctionnement au travers des firewallsfirewalls

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

22

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

Analyse du Analyse du reporting reporting et de la et de la gestion du personnelgestion du personnel

► RappelRappel: le but du projet est de structurer les : le but du projet est de structurer les données afin d’automatiser la gestiondonnées afin d’automatiser la gestion

►Grand travail d’Grand travail d’analyseanalyse et de et de compréhensioncompréhension du du reportingreporting et de la gestion et de la gestion du personneldu personnel Discussions avec le Discussions avec le management teammanagement team du CGC du CGC Analyse des feuilles ExcelAnalyse des feuilles Excel

► Résultats:Résultats:Formalisation des formules nécessaires à la création Formalisation des formules nécessaires à la création

des tablesdes tablesCréation des formulaires pour la saisie des donnéesCréation des formulaires pour la saisie des donnéesCréation d’un schéma pour la base de données Création d’un schéma pour la base de données

(structuration des données)(structuration des données)

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

2323

Phase IIIPhase III

Développement du systèmeDéveloppement du système

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

24

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

Déploiement des Web Déploiement des Web ServicesServices

►Apache AxisApache Axis Implémentation de la spécification SOAP Implémentation de la spécification SOAP

(successeur de (successeur de Apache SOAPApache SOAP)) Architecture modulaire et extensibleArchitecture modulaire et extensible Développement de services web en JavaDéveloppement de services web en Java

►Outil très simple à utiliser: il suffit de créer les Outil très simple à utiliser: il suffit de créer les classes Java et les déplacer dans le bon classes Java et les déplacer dans le bon répertoire pour les « transformer » en service répertoire pour les « transformer » en service webweb

►Génération à la volée la description WSDL des Génération à la volée la description WSDL des services déployésservices déployés

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

25

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

Un exemple pour mieux Un exemple pour mieux comprendre l’interaction OPS – comprendre l’interaction OPS –

WS – MySQL (1)WS – MySQL (1)WS: ProjectsMethod: getProjects()

WS: ProjectsMethod: getProject()

WS: ProjectsMethod: updateProject()

Update OK

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

26

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

Un exemple pour mieux Un exemple pour mieux comprendre l’interaction OPS – comprendre l’interaction OPS –

WS – MySQL (2)WS – MySQL (2)

WS: ProjectsMethod: getProjects()

OPS: données XML

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

27

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

Un exemple pour mieux Un exemple pour mieux comprendre l’interaction OPS – comprendre l’interaction OPS –

WS – MySQL (3)WS – MySQL (3)

WS: ProjectsMethod: getProject()

OPS: données XML

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

28

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

Un exemple pour mieux Un exemple pour mieux comprendre l’interaction OPS – comprendre l’interaction OPS –

WS – MySQL (4)WS – MySQL (4)

WS: ProjectsMethod: updateProject()

Update OK

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

29

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

ConclusionsConclusions

►Objectifs atteints: Objectifs atteints: Données structuréesDonnées structurées Automatisation du système de gestionAutomatisation du système de gestionL’actuel système peut être remplacéL’actuel système peut être remplacé

► Avantages:Avantages: Cohérence et Cohérence et versioningversioning des données garantis des données garantis Maintenance et suivi plus simplesMaintenance et suivi plus simples Système extensibleSystème extensible Portabilité et génération de vues multiplesPortabilité et génération de vues multiples Meilleure gestion financière et administrativeMeilleure gestion financière et administrative

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

30

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

Travaux futurs et perspectives Travaux futurs et perspectives (1)(1)

► Collecte d’informationsCollecte d’informations Connexion directe entre le centre des finances (SAP) et le SIConnexion directe entre le centre des finances (SAP) et le SI Discussions en cours entre le CGC et les administrateurs SAP Discussions en cours entre le CGC et les administrateurs SAP

de l’EPFLde l’EPFL

► Intégration dans un système plus grandIntégration dans un système plus grand Futur très proche: développement d’autres modules Futur très proche: développement d’autres modules

(prévisions financières, gestion de l’information (prévisions financières, gestion de l’information scientifique, …)scientifique, …)

Garantir l’interopérabilité entre tous les modules du SIGarantir l’interopérabilité entre tous les modules du SI

SI Centre des finances

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

31

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

Travaux futurs et perspectives Travaux futurs et perspectives (2)(2)

► Stockage des donnéesStockage des données Actuellement: documents centrés données, donc Actuellement: documents centrés données, donc

aucune perte d’information avec la BD relationnelle aucune perte d’information avec la BD relationnelle utiliséeutilisée

Futur très proche: ajout de modules avec des Futur très proche: ajout de modules avec des documents centrés documents (ex. documents centrés documents (ex. DelivrablesDelivrables))

Ajout d’une base de données permettant le stockage Ajout d’une base de données permettant le stockage de documents centrés documents sans perte de documents centrés documents sans perte d’informationd’information

► Sécurité des documents XMLSécurité des documents XML XML: facilement lisible par les humainsXML: facilement lisible par les humainsCryptage des données XML afin de les protégerCryptage des données XML afin de les protéger

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

32

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

DémoDémo

http://globalcomputing.epfl.ch:8080/Chttp://globalcomputing.epfl.ch:8080/CGCGC

Insertion, Modification et Visualisation Insertion, Modification et Visualisation

des donnéesdes données

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

33

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

QuestionsQuestions