Architecture Technique de la plate-forme CASTORE Formation Développeurs 25-27 janvier 2006 Projet Castore © Ecole des Mines de Nantes http://www.castore.org Presentation de l’equipe et des roles de chacuns
Plan Méthodologie Schéma Conceptuel Architecture actuelle Découpage Outils
L’Agile Development Méthodologie Méthodologie de développement : Itérative (succession de mini-projets) Incrémentale (Chacun de ces mini projets produit une partie du logiciel) Cycles courts (2 semaines) et complets (avec Tests et recette) Notion d’intégration continue Time-boxing. « Meilleures Pratiques » de L’Open-Source Méthodologie
Cycle en Y Méthodologie Branche fonctionnelle Modéliser les processus métier Réaliser les modèles Branche technique Choix des outils Architecture Conception Point de fusion entre la branche fonctionnelle la branche technique Produit un prototype utilisable Méthodologie
Bibliothèque Numérique Schéma conceptuel BD Documents XML Meta-données étendues Indexation du contenu Accès aux documents (recherche / consultation) LDAP Logiciel Documentaire Conversion multi-formats Serveur Vidéo Bibliothèque Numérique Gestion du système (documentalistes) Extérieur Gestion de ses documents (personnels et partagés) Gestion de collections (personnelles et partagées) Infos personnalisées (profil, étudiant ou personnel services dédiés) Meta Moteur Gestion de Versions Avis LCMS Validation suivant le type de documents + Soumission de documents
Architecture technique Actuelle SGBD Système de fichiers Serveur d’application Conteneur WEB Modules JDO Administration Gestion du système Validation des documents Utilisateurs Visualisation des documents Recherche de documents Soumission de documents POJO* *Plain Old Java Object JSP & XSLT & Applets & Servlets Actuellement
Architecture Découpage en modules Permet de fractionner le développement et fournit une Façade de services Facilite l’intégration de divers composants Actuellement : 7 modules dans le projet ‘Core’ 3 autres projets (‘applets’, ‘servlets’, ‘struts’) Architecture
Les projets Architecture Permet de travailler sur une petite partie de la plateforme. Permet de prendre juste les bibliothèques nécessaires Permet d’abstraire le projet principal (‘Core’) et d’utiliser les services de ce dernier. Architecture
CASTORE maven Est le projet permettant de piloter la compilation de CASTORE Contient les éléments pour construire le site web (rapports) Utilisé par le build continu Projets
CASTORE core Projets LE projet CASTORE Est indépendant des autres. Contient toute la logique métier CASTORE + accès aux ressources (BD + FS) Propose les Façades aux autres modules/Projets Projets
CASTORE applets Projets Contient les applets de : Gestion des types de documents Gestion des feuilles de style Lié aux servlets pour la communication client/serveur Projets
CASTORE servlets Projets Servlet de communication Servlet OAI Diagrammes Affichage des images et des documents Projets
CASTORE struts Projets Contient SEULEMENT les classes d’action et formulaires STRUTS Projets
CASTORE struts-webapp Est l’application CASTORE actuelle Contient les JSP Accueille les applets et les classes compilées avec MAVEN Projets
Adaptation de la plateforme SGBD Système de fichiers Projet ‘Core’ Facade JDO POJO* *Plain Old Java Object Web Services EJB JSF …
Architecture Technique - Outils JDK 1.5, AspectJ Struts Tomcat Kodo ou JPOX Oracle ou n’importe quelle BD SAXON/FOP Lucene Jcharts OAICat Ant Outils
Architecture Technique - Outils JUnit CVS Adullact Maven : Rapport de style Rapport de couverture de code Rapport de mesure de complexité (Metrics) Gestion des compilations Outils