Conception participative d’un cours basé sur des ressources libres.
Conception et développement d’un système d’information basé sur XML
-
Upload
lael-potts -
Category
Documents
-
view
31 -
download
5
description
Transcript of 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
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
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
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:
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
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
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é
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
99
Phase IPhase I
Choix technologiquesChoix technologiques
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
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
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)
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
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
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
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
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)
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
1919
Phase IIPhase II
ConceptionConception
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
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
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)
2323
Phase IIIPhase III
Développement du systèmeDéveloppement du système
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
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
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
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
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
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
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
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
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
33
Conception et développement d’un système d’information basé sur XML
QuestionsQuestions