User Tools

Site Tools


wiki:epims4_1m1:developer:ep-pole

This is an old revision of the document!


Guide d'implémentation d'eP-POLE

Introduction

eP-POLE est un module développé avec la technologie GWT (et l'extension graphique GWT-Ext). En ce qui concerne l'architecture générale du projet elle suit la structure habituelle d'un projet GWT. Pour plus de détails voir le chapitre Architecture dans le guide d'implémentation d'eP-Admin.

Structure des classes, fonctionnement

Package DTO

Un des “défaut” de GWT est que tout objet transitant entre le serveur et le client doit être sérialisable (voirici). Cela implique que tout les objets du domaine (d'ePims) qu'utilisera le client d'eP-POLE doivent implémenter l'interface IsSerializable. Ne voulant pas modifier les objets du domaine, nous avons créé dans eP-POLE un package DTO (Data Transfert Object) regroupant les copies de tout les objets utilisés par eP-POLE. Ces copies ont été modifiés afin de satisfaire aux besoins de GWT et de certains besoins annexes apparu lors du développement (et afin de les distinguer des originaux le suffixe “DTO” à été rajouté à leur nom)

Modifications apportées aux objets du domaine

ProtocolApplication & Plannings

Les classes ProtocolApplicationDTO, MassPlanningDTO et RobotPlanningDTO étendent désormais la classe ProcessStep. Cette classe n'a pas d'équivalent dans les objet du domaine (elle s'inspire de la classe ProcessStepBean anciennement présente dans eP-Web). Elle permet à eP-POLE de pouvoir traiter ensemble les planning et les protocol_application.

Divers
  • SampleDTO : Ajout de méthode clone() et copyFields(SampleDTO) afin de subvenir à des besoins côté client d'eP-POLE.
  • Plusieurs classe du domaine n'ont pas encore été transformé en DTO ce qui résulte en des champs parfois supprimé (en commentaire) dans certains classes :
    • BiologicOrigin
    • Protocol
    • Robot
    • Instrument
    • (VirtualPlate & VirtualWell)

Conversion du domaine en DTO et inversement : classe DTOUtils

Les services d'eP-POLE fonctionnent avec les deux mondes : les objets du domaine provenant des services d'eP-Core et les objets DTO envoyés au client. Afin de faire les conversions une classe regroupant toutes les méthodes de conversions a été créé : DTOUtils. Ces méthodes se nomment comme suit :

  • [objet concerné]ConversionTo[monde vers lequel se fait la conversion : DTO ou Domain]
  • exemple : sampleConversionToDTO(Sample), runRobotConversionToDomain(RunRobotDTO)

Des méthodes acceptant des listes d'objet sont aussi présentes.

Se reporter aux javadoc des méthodes pour lesquelles il existe des particularités.

Architecture des classes "principales"

:!: Il y a pas mal de refactoring à faire côté serveur :!:

Organisation de l'interface

wiki/epims4_1m1/developer/ep-pole.1244466166.txt.gz · Last modified: 2009/06/08 15:02 by 132.168.73.9