| author : | |
|---|---|
| revision : | 2613 |
| date : | 2009-06-30 15:32:57 +0200 (mar 30 jun 2009) |
Le package dto assure la communication entre le client Web et la partie persistance de l'application. Pour des soucis de découplage et de maintenabilité, le client ne manipule pas directement les objets de la base de données et utilise donc une représentation simplifiée des entités présentes au niveau de la couche persistance.
Le modèle de classe de dtos mis en place dans le module Pollen-Business est le suivant :

Ce modèle est centré sur la notion de sondage, par ce fait, en un seul appel distant (dans le cadre d'une architecture répartie) toutes les informations associées au sondage seront récupérées. De plus, toujours pour prendre en compte une éventuelle évolution vers une architecture totalement distribuée, chaque dto réalise l'interface serializable permettant de sérialiser l'objet dto créé pour un transfert distant (cet aspect n'apparait pas sur le diagramme).
Dans notre architecture orientée service, les services sont une façade donnant accés à la gestion de la persistance au client, il propose un certain nombre d'opérations en cachant leur implémentation au client . Pour ce faire il s'appuie sur le pattern DTO pour échanger des informations avec celui-ci.
Ce modèle présente le service fourni dans le cadre de la gestion d'un sondage.

Il est nécessaire de transformer les dtos échangés avec le client en entité pour persister les données et d'effectuer l'opération inverse pour fournir des données au client. Ces opérations sont prises en compte spécifiquement pour le sondage par la classe DataPollConverter.
De plus on remarque que dans le cadre de la gestion d'un sondage , le service peut faire appel à d'autre service tel que le service de gestion de choix, le service de gestion de commentaire.
Le diagramme de séquence montre les échanges de message entre les classes du composant Pollen-Business lors de la création d'un service.

Dans le cadre de l'utilisation de l'Api Topia-Persitence, nous devons gérer un contexte global chargeant les propriétés de connexion JDBC à la base de données et fournissant des sous contextes utilisés dans le cadre de transaction vers la base de données. Le contexte global de persistance pour l'application est géré sous forme de singleton, les classes manipulant ces concepts sont les suivantes :

La classe ContextUtil permet également de charger les tables de référentiels (type de dépouillement, type de sondage, type de liste, type de choix) ne possédant pas pour l'instant d'IHM, à partir du fichier de properties pollenconfig.properties.