User Tools

Site Tools


wiki:epims4_0:developer:ep-col

eP-CoL : ePims Communication Library

Introduction

Créer une librairie permettant l'interopérabilité entre les différents composants communicants du système ePims (WS & JMS) : ePims étant, en partie, composé de différents modules communiquants entre eux à l'aide de messages texte/xml (eP-Plate+eP-Back / eP-WebServices & les files JMS) un cadre commun des structures utilisées est nécessaire. Ce cadre peut être une librairie de classes et d'interfaces embarquée dans chaque module permettant à chacun de travailler sur les même bases et de pouvoir facilement se comprendre et évoluer de concert si nécessaire.

L'objectif est donc de créer un nouveau projet rassemblant l'ensemble des classes et interfaces nécessaires à la communication entre les modules impactés. Respecter les différents packages nécessaires pour ces classes/interfaces.

Modules impactés

  • eP-WebServices
  • eP-Plate
  • eP-Core : pour la création et le renseignement des files JMS
  • eP-TAF : et autres applications d'écoute des files et topic JMS

Implémentation

Classes et interfaces

Définition de deux packages

  • cea.edyp.communication.model qui contient tous les objets qui seront échangés entre les applications. Ces objets sont le plus souvent une vue simplifiée/condensées des objets du domaine d'eP-Core.

 schéma de classe du package model de la version 0.4.0

  • cea.edyp.communication.services qui contient les interfaces des services qui sont proposés par eP-WebServices

 schéma de classe du package services de la version 0.4.0

Description

  • cea.edyp.communication.model
    • IComRobotSample : Interface définissant un objet Sample auquel est associé certaines informations relatives à l'étude d'appartenance ainsi que les informations propre à la planification robot.
    • IComVirtualPlate : Représente une plaque virtuelle pour la planification robot. Cet objet est composé d'un PlateDescriptor et d'un ensemble de puits dans lesquels peuvent être présent des IComRobotSample
    • Un ensemble de descriptor (PlateDescriptor pour la description d'une plaque virtuelle, AcquisitionDescriptor pour la description d'une acquisition..)
  • cea.edyp.communication.services
    • IComPlateDataProvider : fournit des méthodes de lecture pour les plaques virtuelles et objets associés.
    • IComPlateStorage : fournit des méthodes pour la création/mise à jour de plaques virtuelles:
    • IComAcquisitionDataServices : fournit des méthodes d'accès (en lecture/écriture) pour les acquisitions et objets associés.
    • IComSystemServices : fournit des méthodes de lecture à des informations relatives à l'infrastucture ePims.

Se rapporter à la JavaDoc d'eP-CoL pour plus d'information

  • cea.edyp.communication.exception
    • EPCoLException

Pour le transfert de fichiers

Un seul TranferMessage par répertoire dans la drop zone et (surtout) un seul répertoire par TranferMessage. Dans cet objet on renseigne également le nom de la personne (appli) réalisant le transfert, les tags et les éléments associés par défaut. Ce sont ces valeurs qui sont utilisées pour tous les fichiers sauf si ils sont explicitement redéfinis au niveau de FileDescriptor. Les tags permettent de typer les fichiers. Il est possible d'associer plusieurs tags à un seul fichier tout comme il est possible de désigner plusieurs entité associées dans ePims. Entités auxquelles le fichier doit être associé (actuellement une étude, un échantillon, un projet ou un programme…)

Pour chaque fichier à transférer (et donc présent dans la sous-zone de drop), un FileDescriptor est défini. Dans le cas où l'on souhaite utiliser les valeurs par défaut de TranferMessage seul le nom du fichier est à spécifier. Sinon, il est possible de redéfinir une ou plusieurs des valeurs par défaut.

Pour les tags (resp. entités associées), cela signifie que si l'on veut ajouter un tag (resp. entité associée) à ceux définis dans TranferMessage, il est nécessaire de (re)définir tous les tags (resp. entités associées) au niveau du FileDescriptor.

wiki/epims4_0/developer/ep-col.txt · Last modified: 2009/01/21 11:49 by 132.168.73.247