Why make donate

Architecture de l'application Pollen

author : Florian DESBOIS <florian.desbois@gmail.com>
revision : 2613
date : 2009-06-30 15:32:57 +0200 (mar 30 jun 2009)
Architecture global

Composants

Présentation

L'application est composé de trois composants globaux distincts :

  • Presentation / IHM : Couche de présentation de l'application
  • Business : Couche de persistance de l'application
  • VoteCounting : Module séparé permettant la gestion des dépouillements
Composants de l'application

Composant IHM (pollen-ui)

Il permet l'affichage des données à l'utilisateur. C'est la vue de notre application. Cette partie sera faites en utilisant le framework Tapestry de Apache.

Composant Business (pollen-business)

Le Composant Business est composé de 3 composants différents :

  • ServicesImpl : Composant qui implémente l'ensemble des services de l'application
  • DAO : Couche de manipulation des entités persistantes (Creation/Modification/Suppression)
  • Persistence : Composant regroupant toutes les entités persistantes.

Le Composant Business propose 6 différentes interfaces/services disponibles pour la couche de présentation :

  • ServiceAuth : Service d'authentification à l'application (valable pour les utilisateurs ayant un compte)
  • ServiceManagerUser : Service permettant la manipulation des utilisateurs (personnes ayant un compte)
  • ServiceList : Service permettant la manipulation des listes de votants (groupes, favoris, ...)
  • ServicePoll : Service de gestion des sondages (poll) : Création/Modification/Suppression/Modération...
  • ServiceVote : Service de gestion des votes : Fonctionnalités accessible pour un votant.
  • ServiceResults : Service de gestion des résultats.
  • ServiceComment : Service de gestion des commentaires.

Composant VoteCounting (pollen-votecounting)

Le Composant VoteCounting est composé de 2 composants différents :

  • VoteCountingExport : Composant permettant l'export de résultats et de sondages sous un format de fichier quelconque (ici XML par défaut)
  • VoteCountingExecuter : Composant permettant la gestion des différents algorithmes de dépouillement

Le Composant VoteCounting propose 2 différentes interfaces/services correspond respectivement à chaque composant présenté ci-dessus :

  • ServicePollExport : Service de gestion des exports d'un sondage et de ses résultats sous un format Standard
  • ServiceVoteCounting : Service de gestion des dépouillements.

Modules Maven

3 Modules sont créés pour géré ces différents composants :

  • UI : Couche présentation (Framework Tapestry)
  • Business : Couche métier de l'application et persistance (Utilisation de ToPIA-Persistence)
  • VoteCounting : Module séparé de gestion des dépouillements