Table of Contents

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

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 :

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 :!:

Le SampleCache et ses listes

La classe SampleCache garde en mémoire plusieurs “liste” permettant aux différents composants d'eP-POLE d'obtenir les données dont ils ont besoin sans avoir à faire de long traitement. Il y en a 4, et ce sont toutes des Map.

sampleMap

sampleMapByProcessStep

processStepMapBySample

sampleMapByLastProcessType

Organisation de l'interface

Ci-après est décrit l'organisation des panels formant l'interface d'eP-POLE (les noms sont ceux utilisés dans le code)

Pour faire le lien avec le schéma précédent montrant les classes “principales” d'eP-POLE :

1)
Tout ProtocolApplication + MassPlanning + RobotPlanning
2)
Pool, Planning Masse, Nouveau, etc…