440 likes | 509 Views
Projet Webase. I. La définition du projet. L’existant : Webase 4 Cahier des charges La répartition des données Le modèle de données Le choix des outils. I.1. L'existant, Webase4. I.1. Les défauts de Webase4. Framework Base de données Fonctionnalités Code.
E N D
I. La définition du projet • L’existant : Webase 4 • Cahier des charges • La répartition des données • Le modèle de données • Le choix des outils
I.1. Les défauts de Webase4 • Framework • Base de données • Fonctionnalités • Code
I.2. Cahier des charges de Webase5 • Code et base de données robustes et maintenables • Pas de pertes de fonctionnalités • Utilisation des nouveaux outils (CAS, BDU) • Trésorerie • Permanences
I.5. Choix des outils • Critères : • outils Open Source • outils multiplateformes • conseils • Nos choix : • Postgresql (base de données) • Tomcat (serveur d’applications) • Java, Acegi, Hibernate, Tiles
II. Le fonctionnement • Schéma global • MVC et architecture 3-tier • L’organisation « pratique » • La sécurité, … • De l’utilité de Spring • L’interface
II.1. Fonctionnement de Webase 5 Organisation interne des différents outils composant Webase 5
II.1. Accès aux données • Sources multiples • Object Relational Mapping • Data Access Object
II.2. Architecture 3-tier Données Traitement Présentation • 3-tier : • Couches présentation, traitement (services) et accès aux données (dao) • Indépendance des processus métiers
II.2. Le modèle MVC • MVC : • Modèle, Vue, Contrôleur • Permet de séparer affichage et récupération des données
II.3. Organisation du code • Classes de : - Modèle - Formulaire - DAO - Action - Service
II.4. La sécurité, … • Modules de : - Sécurisation (Acegi) - Journalisation (Log4j) - Accès aux données (DAO, Hibernate) - Services web distants… • Spring !
II.5. L’AOP • Ajoute des fonctionnalités « transverses » à des classes existantes : • Sécurité • Logs • Aspect transactionnel • Un aspect fonctionne comme un filtre ou un calque.
II.6. Interfaces • Différentes interfaces possibles • Interface web classique • Service web : simple API • AJAX ? XHTML HTTP XML
III. Le développement • La méthode adoptée • Eclipse : un outil de développement • Le déploiement de Webase • La documentation
III.1. La méthode : une version par développeur • Outil : Subversion • travail indépendant mais coordonné • Avantages : • possibilité de travailler à distance • pas de gêne entre les développeurs • possibilité de tests • Inconvénients : • tendance à« l'isolation »
III.2. Eclipse, un outil libre très puissant : • Nombreux plugins : XML, Tomcat, SVN • Débugage facile • Nombreuses fonctions très pratiques : • formatage des fichiers sources • génération automatique (getters/setters, import) • correction de la syntaxe en temps réel • compilation automatique
III.3. Le déploiement • Installation de PostgreSQL, de la JVM, de Tomcat (SSL) • Migration de l’ancienne base de données • Utilisation d’Eclipse (fichier .war) • Déploiement via le Tomcat Manager Bilan: Extrême facilité de déploiement
III.4. La documentation • Formations au cours de l’année • Achats de livres • Utilisation du wiki: • Documentation des outils utilisés • Documentation des étape d’installation de Webase5. • Génération d’une Javadoc
IV. Bilan du Projet Bilan fonctionnel Observations sur l’architecture retenue Poursuite du projet
IV.1. Bilan fonctionnel • Respect du cahier des charges • Webase5 est livrée « à temps » • Toutes les fonctionnalités centrales sont implémentées • Interface plus pertinente, plus aisée à prendre en main
IV.2. Observations sur l’architecture retenue • Lourdeur de la mise en place des frameworks • Code « propre » dû aux frameworks • Maintenabilité plus aisée
IV.2. Observations sur l’architecture retenue • Courbe d’apprentissage plus lente à décoller • Le modèle MVC s’apprend par la pratique • Code volontairement « contraignant »
IV.3. Poursuite du projet • Formations de la nouvelle génération de développeurs de Webase5 • Capitalisation des connaissances acquises pendant le projet • Guide utilisateur et guide développeur • Formations effectuées et à faire perdurer
IV.3. Poursuite du projet • Approfondissement de la Javadoc • Exploiter les possibilités de Spring • Mettre en place de nouvelles fonctionnalités en plus du cœur déjà fonctionnel