Table of Contents

Modules d'ePims

A ce stade, vous avez créé la base de données ePims et un utilisateur pour se connecter à cette base. Cette base est également accessible en TCP/IP depuis la machine qui sera le serveur d'application Geronimo qui est lui même opérationnel. Enfin, vous disposez d'un serveur FTP configuré pour rendre visible en lecture seule le repository ePims. Il reste maintenant à configurer les différents modules d'ePims avant de les déployer sur le serveur d'application et à configurer eP-Back pour les transferts des données de spectrométrie de masse.

Repository ePims

L'infrastucture ePims s'appuis sur un espace disque où les différentes données (autres que celles enregistrées dans la base de données) sont stockées. L'organisation de cet espace est la suivante :

Contenu de la distribution

La distribution des binaires d'ePims contient l'arborescence suivante :

Cette arborescence doit être copiée dans un répertoire temporaire d'installation afin de pouvoir modifier certains fichiers de configuration. Tous les chemins et fichiers donnés dans cette page sont relatifs à ce répertoire temporaire d'installation.

eP-Core

Avant de déployer eP-Core, il est nécessaire de le configurer. Modifiez le fichier eP-Core/epCore.properties comme indiqué ci-dessous puis exécutez updateJar-Core.bat (ou updateJar-Core.sh sous Linux) qui va mettre à jour le fichier epCore.properties qui se trouve dans la librairie eP-Core-<version>.jar

Configuration

Cette configuration sera commune à tous les modules utilisant eP-Core installé sur le serveur Geronimo. Les propriétés à redéfinir sont:

UNDEF_DIR_NAME    =  _UNCLASS_ 
PIMS_ROOT         =  /local/path/to/pims_root/ 
PIMS_REPOSITORY_1 =  a   
PIMS_REPOSITORY_2 =  b   
PIMS_REPOSITORY_3 =  c   
PIMS_SHARE        =  b/share   
PIMS_ARCHIVE      =  transfert/archive   
PIMS_SYSTEM       = adm
PIMS_ARCHIVE_FILE =  path/relative/to/pims_system/studyArchived.txt
UNDEF_DIR_NAME

Nom des répertoires, sur l'espace disque de stockage dédié à ePims, qui contient les projets/études n’appartenant pas à un programme/projet.

PIMS_ROOT

Le repository d'ePims, autrement dit le répertoire racine de l'espace de stockage où toutes les données de ePims sont stockées.

PIMS_REPOSITORY_XX

Répertoires, relatifs à PIMS_ROOT, dans lesquels les données relatives aux études sont stockées.

PIMS_SHARE

Répertoire contenant les données dites partagées, n’appartenant pas spécifiquement à une étude. On retrouve ici, par exemple, les acquisitions de contrôles réalisées sur les instruments.

PIMS_ARCHIVE

Répertoire, relatif à PIMS_ROOT, dans lequel sont transférés les données qui sont à archiver (à copier sur bandes)

PIMS_SYSTEM

Répertoire, relatif à PIMS_ROOT, dans lequel les données “administratives” et systèmes sont sauvegardées (logs files…)

PIMS_ARCHIVE_FILE

Fichiers copiés dans les répertoires des études lorsque celles-ci sont archivées afin d’en avertir l’utilisateur. Ce fichier est donné avec le projet. Il doit contenir un tag « #DATE#. » qui sera remplacé par la date effective à laquelle l’étude à été archivée. Le chemin spécifié est relatif au répertoire PIMS_SYSTEM.

Spécificités Windows

  1. Dans le cas où geronimo est exécuté comme un service, les chemins absolus spécifiés dans ePCore.properties ne doivent pas référencer une disque logique réseau ! Soit ils référencent un disque local c:\path\to… soit ils référencent une connexion réseau sous la forme d'une UNC \\serveur\path\to….
  2. Les chemins absolus doivent être écrits soit avec des “/” soit les “\” doivent être doublés ! Exemple :
      PIMS_ROOT=C:/temp/root
      PIMS_ROOT=\\\\serveur\\path\\to\\pims\\root

:!: Remarque : Actuellement eP-Back n'utilise pas le eP-Core de Geronimo, par conséquent il devra redéfinir ces propriétés dans un fichier spécifique.

Déploiement

La librairie eP-Core doit être ajoutée au serveur Géronimo afin d'être partagée par les autres modules. Pour cela, depuis la console d'administration de Geronimo, sélectionner la rubrique “Services/Common Libs”, dans File télécharger le fichier eP-Core-<version>.jar puis spécifier les caractéristiques suivantes : group = lib, Artifact = eP-Core, version =<version> et type=jar.

<version> est de la forme “3.4.0”

:!: Remarque : Si eP-Core.jar doit être redéployé (si erreur lors de la configuration ou autres) il ne sert à rien de repasser par la console Geronimo. Car celui-ci ne remplacera pas le fichier si la version est la même. Il faut donc :

  1. arrêter le serveur
  2. se rendre dans le dossier de la librairie : [GERONIMO_HOME]/repository/lib/eP-Core/<version>
  3. remplacer l'ancien fichier eP-Core.jar par le nouveau
  4. redémarrer le serveur

La nouvelle configuration devrait être pris en compte.

eP-Web & eP-WebServices

les modules eP-Web et eP-WebServices sont déployés à partir de de l'application d'entreprise (EAR) eP-EAR.ear.

Configuration

Avant de déployer l'application ePims, il est nécessaire de modifier certains fichiers de configuration et de créer une connexion à la base de données depuis le serveur Geronimo.

Configuration du serveur Geronimo

Création d'une dataSource

Depuis la console d'administration de Geronimo :

Création d'un Realm

Le Realm est la connexion gérant la sécurité des accès à l'interface web d'ePims. Depuis la console administration de Geronimo :

# User SELECT SQL :   select login, passwd from actor where login=?
# Group SELECT SQL :  select login, role from actor_role where login=?

Configuration d'eP-Web et d'eP-Webservices

Il existe un certain nombre de fichiers de configuration à modifier en fonction de son environnement et des identifiants utilisés lors de la configuration de Geronimo. La configuration se fait en plusieurs étapes

1 - Modifier les fichiers sous eP-EAR/eP-Web.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1" 
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1" 
xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1" 
xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1">
   <sys:environment>
      <sys:moduleId>
	<sys:artifactId>ePims</sys:artifactId>
      </sys:moduleId>
      <sys:dependencies>
         ...
      </sys:dependencies>
    </sys:environment>
 
    <context-root>/ePims</context-root>
    <naming:resource-ref>
	<naming:ref-name>jdbc/epims</naming:ref-name>
	<naming:resource-link>[ds_name]</naming:resource-link>   <==== data source
    </naming:resource-ref>
 
   <security-realm-name>[realm_name]</security-realm-name>      <==== realm
</web-app>
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File eP-Plate Application -->
<jnlp  spec="1.0+"  codebase="$$codebase">
  <information>
    ...
  </information>
  <security>
    ...
  </security>
  <resources>
    ...                             
  </resources>  
  <application-desc main-class="cea.edyp.plate.ui.PlateApp">
  	<argument>[Server_address]</argument>
  </application-desc>
</jnlp> 
      FTP_HOST= ftpServ      1.
      FTP_AUTH_DB= true      2.
      FTP_USER= username     3.
      FTP_PASSWD= password   4.
    1. le host du serveur FTP
    2. spécifie si le serveur FTP utilise une authentification classique (false) ou via la BD (true)
    3. le mot de passe pour l’authentification auprès du serveur FTP, si FTP_AUTH_DB = false 
    4. le login utilisé pour l’authentification auprès du serveur FTP, si FTP_AUTH_DB = false   

2 - Modifier les fichiers sous eP-EAR/eP-WebServices.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1" 
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1" 
xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1" 
xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1">
    <sys:environment>
        <sys:moduleId>
            <sys:artifactId>eP-WS</sys:artifactId>
        </sys:moduleId>       
    </sys:environment>
 
    <context-root>/eP-WS</context-root>
 
    <naming:resource-ref>
        <naming:ref-name>jdbc/epims</naming:ref-name>
        <naming:resource-link>[ds_name]</naming:resource-link>  <====== data source
    </naming:resource-ref>    
</web-app>

3 - Modifier les fichiers sous eP-EAR/.

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-1.1" 
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1" 
xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1">
  <sys:environment>
    <sys:moduleId>
	<sys:groupId>default</sys:groupId>
	<sys:artifactId>ePims</sys:artifactId>
	<sys:version>1.0</sys:version>
	<sys:type>car</sys:type>
     </sys:moduleId>
     <sys:dependencies>
	<sys:dependency>
	        <sys:groupId>lib</sys:groupId>
		<sys:artifactId>eP-Core</sys:artifactId>
		<sys:version>3.4.1</sys:version>
		<sys:type>jar</sys:type>
	</sys:dependency>
	<sys:dependency>
		<sys:groupId>console.dbpool</sys:groupId>
		<sys:artifactId>[ds_name]</sys:artifactId>      <===== data source
	</sys:dependency>
     </sys:dependencies>		
           ....
   </sys:environment>
        ....
</application>

4 Exécuter eP-EAR/eP-Web/updateWar-Web.bat sous Windows ou eP-EAR/eP-Web/updateWar-Web.sh sous Linux. Le fichier eP-EAR/eP-Web/eP-Web.war sera remplacé par une version contenant les fichiers de configuration modifiés. Il est nécessaire que la variable d'environnement JAVA_HOME soit positionnée.

5 Copier le fichier eP-EAR/eP-Web/eP-Web.war sous ePims

6 Exécuter eP-EAR/eP-WebServices/updateWar-WS.bat sous Windows ou eP-EAR/eP-WebServices/updateWar-WS.sh sous Linux. Le fichier eP-EAR/eP-WebServices/eP-WebServices.war sera remplacé par une version contenant les fichiers de configuration modifiés. Il est nécessaire que la variable d'environnement JAVA_HOME soit positionnée.

7 Copier le fichier eP-EAR/eP-WebServices/eP-WebServices.war sous ePims

8 Exécuter eP-EAR/updateEar-ePims.bat sous Windows ou eP-EAR/updateEar-ePims.sh sous Linux. Le fichier eP-EAR/ePims.ear sera remplacé par les nouvelles versions d'eP-Web, eP-WebServices et par les nouveaux fichiers de configuration.

Déploiement d'ePims

Depuis la console administration de Geronimo, aller dans Applications / Deploy New et sélectionner Pims.ear

Test

Dans “Applications/Applications EARs” vérifier que l'application default/ePims/1.0/car soit listée et en statut “running”. Saisir l'adresse http://localhost:8080/ePims. En cas de problème lors du login, vérifier qu'il existe au moins un actor/actor_role dans la BD Pims. Normalement, deux utilisateurs sont créés par défaut: admin/admin et guest/guest

eP-Back

Installation

Dézipper la distribution de eP-Back. Un répertoire eP-Back-<version> est créé et contient l'arborescence suivante :

conf
  | -- instruments.xml : fichier de configurations pour les instruments
  |-- eP-BackCore.properties : fichier de configuration de l'environnement ePims nécessaire à eP-Back
  |-- springDataSource.xml : configuration de l'accès à la BD Pims
  |-- springAppContext.xml : configuration de l'environnement relatif à Spring. Ne nécessite pas de modification
lib
  | -- librairies utilisés par l'application
eP-Back-<version>.jar : executable
eP-Back.bat : script de démarrage de eP-Back
VERSION: fichier d'informations

Configuration

            ...
            <!-- DataSource Definition -->   
               <bean id="ePCoreDS"
                           class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
                    <property name="driverClassName">
                        <value>org.postgresql.Driver</value>
                    </property>
                    <property name="url">
                        <value>jdbc:postgresql://[host]/[PimsDB]</value>
                    </property>
                    <property name="username">
                        <value>[pims_db_user]</value>
                    </property>
                    <property name="password">
                        <value>[pims_user_password]</value>
                    </property>
                </bean>
  host : nom de la machine hébergeant la BD
  PimsDB : nom de la BD d'ePims
  pims_db_user et pims_user_password : login et mot de passe pour l'accès à la BD
<instruments>
  <instrument>
    <name>CB501</name>
    <src>d:/temp</src>
    <format>QTOF Waters</format>
    <removeFiles>false</removeFiles>
    <transfer_mode>0</transfer_mode>
  </instrument>
  <instrument>
    ...
  </instrument>
</instruments>

Les informations contenues dans ce fichier sont:

Actuellement, les formats de données reconnus par eP-Back sont :