44
Projet Webase

Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

Embed Size (px)

Citation preview

Page 1: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

Projet Webase

Page 2: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

I. La définition du projet

1. L’existant : Webase 4

2. Cahier des charges

3. La répartition des données

4. Le modèle de données

5. Le choix des outils

Page 3: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

I.1. L'existant, Webase4

Page 4: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix
Page 5: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix
Page 6: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix
Page 7: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix
Page 8: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

I.1. Les défauts de Webase4

Framework Base de données Fonctionnalités Code

Page 9: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

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

Page 10: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

I.3. La répartition des données

Viabase BDU Topologie

Krishna Illusion Cerbère

Webase

Page 11: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

I.4. Le modèle de données

Page 12: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

I.4. Le modèle de données

Page 13: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

I.4. Le modèle de données

Page 14: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

I.5. Choix des outils

Critères :outils Open Sourceoutils multiplateformesconseils

Nos choix :Postgresql (base de données)Tomcat (serveur d’applications)Java, Acegi, Hibernate, Tiles

Page 15: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

II. Le fonctionnement

1. Schéma global

2. MVC et architecture 3-tier

3. L’organisation « pratique »

4. La sécurité, …

5. De l’utilité de Spring

6. L’interface

Page 16: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

II.1. Fonctionnement de Webase 5

Organisation interne des différents outils composant Webase 5

Page 17: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

II.1. Accès aux données

Sources multiples Object Relational Mapping Data Access Object

Page 18: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

II.2. Architecture 3-tier

3-tier : Couches présentation, traitement (services) et accès

aux données (dao) Indépendance des processus métiers

Données Traitement Présentation

Page 19: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

II.2. Le modèle MVC

MVC : Modèle, Vue,

Contrôleur Permet de séparer

affichage et récupération des données

Navigateur

Contrôleur Vue

Modèle

Base de données

Requête

HT

TP

Rép

onse

HT

TP

Page 20: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

II.2. MVC + 3-tier

Couche données

Couche présentation

Navigateur

Contrôleur Vue

Modèle

Base de données

Couche métier

Page 21: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

II.3. Organisation du code

Classes de : - Modèle - Formulaire- DAO - Action- Service

Page 22: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

II.4. La sécurité, …

Modules de : - Sécurisation (Acegi)- Journalisation (Log4j)- Accès aux données (DAO, Hibernate)- Services web distants…

Spring !

Page 23: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

II.5. L’IOC

Classe DAO 1

Classe contrôleur

Classe de connexion BdD

Classe DAO 2

Classe Service 2Classe service 1

Classe DAO 3

Classique

IOC

Page 24: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

II.5. L’AOP

Ajoute des fonctionnalités « transverses » à des classes existantes :SécuritéLogsAspect transactionnel

Un aspect fonctionne comme un filtre ou un calque.

Page 25: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

II.6. Interfaces

Différentes interfaces possibles Interface web classique Service web : simple API AJAX ?

XHTML

XML

HTTP

Page 26: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

III. Le développement

1. La méthode adoptée

2. Eclipse : un outil de développement

3. Le déploiement de Webase

4. La documentation

Page 27: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

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 »

Page 28: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

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

Page 29: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix
Page 30: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix
Page 31: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix
Page 32: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

III.3. Le déploiement

1. Installation de PostgreSQL, de la JVM, de Tomcat (SSL)

2. Migration de l’ancienne base de données

3. Utilisation d’Eclipse (fichier .war)

4. Déploiement via le Tomcat Manager

Bilan: Extrême facilité de déploiement

Page 33: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix
Page 34: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

III.4. La documentation

Formations au cours de l’année Achats de livres Utilisation du wiki:

Documentation des outils utilisésDocumentation des étape d’installation de

Webase5. Génération d’une Javadoc

Page 35: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix
Page 36: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

IV. Bilan du Projet

1. Bilan fonctionnel

2. Observations sur l’architecture retenue

3. Poursuite du projet

Page 37: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

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

Page 38: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

Fonctionnalités Clés : trésorerie

Page 39: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

Fonctionnalités clés : fiche de membre

Page 40: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

Fonctionnalités clés : fin de permanence

Page 41: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

IV.2. Observations sur l’architecture retenue Lourdeur de la mise en place des

frameworks

Code « propre » dû aux frameworks

Maintenabilité plus aisée

Page 42: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

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 »

Page 43: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

IV.3. Poursuite du projet

Formations de la nouvelle génération de développeurs de Webase5

Capitalisation des connaissances acquises pendant le projetGuide utilisateur et guide développeurFormations effectuées et à faire perdurer

Page 44: Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix

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