540 likes | 647 Views
Une base de données XML sur le net. Responsable : Jean-Luc Massat. Plan. Présentation de l’application Fonctionnalités Gestion Authentification Validation Publication Architecture Technologie Hibernate XML/XSL/DOM4J JSF Démarche Conclusion. Midihaou. Content Management System
E N D
Une base de données XML sur le net Responsable : Jean-Luc Massat
Plan • Présentation de l’application • Fonctionnalités • Gestion • Authentification • Validation • Publication • Architecture • Technologie • Hibernate • XML/XSL/DOM4J • JSF • Démarche • Conclusion
Midihaou • Content Management System • Stockage • Mise à jour • Présentation • Deux Parties • Back Office • Front office
Back Office Id:1234567 Nom: Dupont Prénom: Jean Age: 42 Taille:1.78 Nationalité: française Schéma Schéma Collection Collection Collection Doc Doc Doc Doc Doc Doc Doc Doc
Back office • 2 types d’utilisateurs • Utilisateurs non authentifiés • Utilisateurs authentifiés • Propriétaire • Gestionnaire de collection • Administrateur
Gestion des droits Les droits des utilisateurs authentifiés: • Un propriétaire peut modifier les documents lui appartenant et voir les autres documents publics • Un gestionnaire de collection peut modifier les documents de la collection dont il est responsable • L’administrateur a tous les droits sur l’ensemble des collections et des documents
FrontOffice HTML Serveur HTTP Front office • Présentation des informations • Accessible au public Doc
Gestion • Naviguer • Rechercher • Administrer
Gestion - Naviguer • Arborescence • Code de couleur • Documents • Document publique • Document partagé • Document privé • Collections • Collection publiée • Collection non publiée
Gestion - Rechercher • Un objet (Document, collection ou schéma) • Recherche précise • Recherche large • Résultat
Giraud <schema> <string name="nom"/> <string name="age"/> <string name="site"/> <string name="email"/> </schema> 22 http://www.midihaou.com giraud@midihaou.com Gestion - Administrer • Création / Modification / Suppression • Configuration • présentation • modification
Fonctionnalités Authentification
Authentification • Nécessité pour un utilisateur de s’authentifier pour accéder à l’ensemble de ses documents sur le BackOffice • Documents représentant des utilisateurs à partir desquels on se connecte
Authentification Doc utilisateur ID = jdupont Password = **** Nom : Dupont Prénom : Jean Email : jean.dupont@yahoo.fr … Authentification propriétaire propriétaire propriétaire Doc ID : Doc1 PROP : jdupont … Doc ID : Doc2 PROP : jdupont … Doc ID : Doc3 PROP : jdupont …
Authentification Les liens authentifiant : • Possibilité d’accéder directement à un document via une URL reçue par mail en cas d’oubli de mot de passe • Durée de validité du lien limitée • Lien sécurisé contenant un ensemble de paramètres permettant de vérifier sa validité (message crypté) Exemple d’un lien authentifiant :
Fonctionnalités Validation
Validation • Un document est soumis au schéma de la collection à laquelle il appartient • Le schéma est une structure pour un document • Un document peut être invalide par rapport à son schéma (donnée non renseignée, modification du schéma…) • Il peut demeurer ainsi dans la base
Validation • Module de validation de document à partir d’un schéma • Erreurs du document transmises au propriétaire du document par mail • Administrateur peut déclencher la validation sur l’ensemble des documents • Mécanisme de validation des schémas lors de leur création et de leur modification
Fonctionnalités Publication
Publication Document Collection • Une CSS et XSL par défaut • Une CSS et XSL par collection Données Au format XML CSS XSL Données globales Document HTML
La XSL par défaut <document> <responsable>Jean-Luc Massat</responsable> <url>http://www.dil.univ-mrs.fr/masterinfo/ue.html#M26</url> <email>massat@univmed.fr</email> <text>[b]Résumé[/b] : Il s'agit de présenter...</text> <logo>25632</logo> </document> • Présentation standard des données XSL
Stockage des fichiers • Génération de fichiers statiques • Stockage à plat des fichiers • Nom des fichiers préfixés • Schéma : sch + id schéma • Collection : col + id collection • Document : doc + id document • Fichier : file + id document
Navigation Collection Documents Schéma Index.html Collection Documents Schéma Collection Documents
Presentation Metier Data Access Object Une architecture en couche SGBD
Circulation des données Presentation • Echange des beans entre les couches • La couche métier offre des services applicatifs Beans données Metier DAO
Une architecture en couche Présentation Métier Interface Data Access Object Interface
Inversion des dépendances Dépendance • La classe A utilise la classe B A B A Interface • Le couple (A, Interface) impose les • méthodes à implémenter Dépendance B
Une architecture en couche Présentation Métier Interface BD XML SGBD Data Access Object XML Data Access Object Interface
Présentation Présentation Métier Interface Data Access Object Interface
Des vues MVC Présentation Contrôleur Traitements graphique Traitements métier
Une structure évolutive • L’organisation en couche facilite l’ajout de fonctionnalités et la maintenance • Meilleure séparation des tâches
Hibernate • outil d'ORM (object Relationnal Mapping) • manipuler les données et assurer leur persistance
La gestion optimiste • Problème : mise à jour du même document par plusieurs utilisateur.
XML/XSLT • XML(eXtensible Markup Language) • langage de balisage • format de description des données. • XSLT (Extensible Stylesheet Language Transformation) • transforme des documentsXML dans divers formats comme le HTML,PDF,SVG et ... le XML.
DOM4J • DOM4J: API Open Source JAVA • Librairie permettant de travailler sur: • XML,XPATH, XSLT.
Le Cache • Stocker des schémas et documents • Augmenter la vitesse de l’application • Taille fixée • Suppression de l’élément le moins utilisé
Technologie Java Server Faces
Java Server Faces • JSF est un standard J2EE. • Framework basé sur les technologies JSP et Servlets. • Plusieurs implémentations de la norme JSF : • RI de SUN • MyFaces d’Apache • Facelets • Modèle de développement événementiel et orienté composant. • JSF permet : • mapping HTML/Objet • modèle riche de composants graphiques réutilisables • liaison simple entre actions côté client et code Java coté serveur
Validateurs et Converteurs JSF • Implémentation de validateurs JSF • Validation à la saisie des formulaires • Conversion de données saisies dans un formulaire
Les Messages JSF • Permet de stocker des messages • Facilite l'internationalisation des applications • Aucun texte écrit directement dans notre application
Binding de Composants JSF • private inputText input ; composant inputText Type Line composant inputLabel Type Number composant inputSelectOne Type Enum composant inputTextArea Type Text Un composant panelGrid complexe
Composant MyFaces • Librairie Tomahawk : • Tree2 • Date • TabbedPane • DataScroller • FileUpload • InputSuggest • etc …
Composant MyFaces Tree2
Composant MyFaces TabbedPane
Planning 1 semaine 3 semaines 2 semaines et demi Analyse Conception Développement Rapport V0 V1
V0 Fonctions de base (création, modification, suppression, authentification, présentation) V1 Validation Recherche Front office Lotissement