User Tools

Site Tools


wiki:epims3_3:developer:configdev

Configuration ePims pour le développement

Introduction

Ce chapitre décrit les configurations nécessaire au développement des modules d'ePims. Par configuration on entends la mise en place de l'environnement d'exécution (FTP / BD etc) et celui de développement (Eclipse …). Une part de l'environnement nécessaire au développement d'ePims est identique à l'environnement de production. Les étapes de configuration sont donc similaires à celle du guide d'installation, mais les valeurs de configuration diffèrent parfois.

Environnement d'exécution

Rien n'est imposé mais il est recommandé de créer un environnement de développement distinct de celui de production :

  • Définition d'un PIMS_ROOT spécifique
  • Création d'une base de données de test
  • Installation du serveur d'application pour le développement

Pour éviter d'avoir à re-modifier les fichiers de propriété lorsque l'on passe du mode developpement au mode production ou test, des différents fichiers de configuration sont rangés dans des répertoires différents selon le mode. Par exemple ./resources/dev contient la version « développement » des fichiers de configuration et permet de faire en sorte que PIMS_ROOT pointe sur un répertoire de developpement, et springDataSource.xml soit configuré pour utiliser une base de données différente de celle de production. Les tâches ANT configure.dev, etc. permettent de copier les fichiers du mode developpement dans le répertoire de distribution et/ou de compilation.

En résumé, quand on récupère le projet eP-Web de CVS et que l'on veut faire de développement il faut :

  1. Configurer les fichiers de propriétés par rapport à son environnement.
  2. Exécuter les cibles ant :
    1. Resolves de build-ivy.xml

2. compileReport de build.xml

       3. configure.dev de build.xml

PostgreSQL

Il est nécessaire d'installer Postgresql comme décrit dans le guide d'installation. Toutefois, il est fortement conseillé d'utiliser un nom de base de données différent ce celui de l'environnement de production.

Geronimo

Il est nécessaire d'installer Geronimo sur le poste de développement comme décrit dans le guide d'installation. Il est ensuite nécessaire de créer la datasource et le realm dans Geronimo comme décrit dans le paragraphe relatif à l'installation de ePims. En pointant sur la base de données qui a été choisie pour le développement.

FTP

Suivre les instruction décrites dans le admin. Pensez à définir le FTP Root en fonction du PIMS_ROOT utilisé pour le développement.

Environnement de développement

Eclipse

Plugins

Pour la partie développement, nous utilisons Eclipse Europa (version 3.3). Les différents modules que l'on trouvent sous SVN sont donc formattés pour cet environnement. Plusieurs plugins doivent être ajoutés afin de gérer correctement les modules ePims. Quand cela est possible, l'installation se fait via les sites d'update :

  • Choisir dans le menu Help, Software Updates > Find and install.
  • Sélectionner “Search for new features to install”
  • Puis choisir d'éxécuter la recherche sur le site d'update adequate.
  • Sélectionner le plugin désiré !!!

Pour les modules web, il est nécessaire d'installer le plugin 'Web and JEE Development' accessible sur le site d'update “Europa Discovery Site” (défini par défaut). Cliquer sur “Select Required” afin de résoudre les dépendances entre les plugins. Les autres plugins à installer sont :

  • Subclipse Plugin. Nous utilisons la version 1.2.4. Le site d'update http://subclipse.tigris.org/update_1.2.x peut être utilisé
  • Spring IDE, version 2.0.3, site d'update : http://springide.org/updatesite. Attention, ne pas sélectionner “Dependencies” de Spring IDE qui n'est valable que sous Eclipse 3.2. Choisir les modules désirés dans Integrations et Extensions….
  • Geronimo Eclipse plugin, version 2.0.0. Attention, cette version n'est pas accessible via le site d'update et doit donc être downloadé puis installé (pour l'installation dezippez l'archive puis copiez les contenus des dossiers plugins et features dans leur équivalent du répertoire d'installation d'eclipse).
  • Hibernate Tools, version 3.2.0.GA (cf Geronimo Eclipse juste au-dessus pour l'installation)

Configuration

  • Dans la perspective SVN, entrer l'URL du repository : https://www.grenoble.prabi.fr/svn/MSISofts/ePims
  • Windows > Preferences > Java - Installed JREs : ajouter le JDK de java 1.5
  • Ant est utilisé pour diverses taches de configuration. Cet outil est également utilisé pour executer des taches spécifiques à la gestion des dépendances entre librairies, par l'intermédiaire d'ivy. Pour que Ant fonctinne correctement sous Eclipse, il faut ajouter le jar de ivy dans le runtime de Ant : Windows > Preferences > Ant - Runtime : Ajouter le jar de ivy (version 1.4.1) dans le classpath “Ant Home Entry” et ajouter également tools.jar dans le classpath “Global Entries” (tools.jar se trouve dans votre install du JDK).
  • Dans Windows > Preferences > Server > Installed Runtimes, ajouter un Server Runtime pour Geronimo 1.1 puis configurer le chemin du répertoire d'installation de Geronimo.
  • Il faut également ajouter le serveur dans la fenêtre serveur (perspective Java EE / view Servers : New > Server et choisir Apache Geronimo 1.1 avec le runtime précédement installé).

Configuration des Modules

Librairies tierces

Quelque soit le module, lorsqu'un checkout depuis SVN est réalisé, il est nécessaire d'exécuter la tache Ant “resolve” afin que les librairies tierces soient récupérées au niveau du projet.

FIXME: Actuellement nous utilisons un repository interne pour ivy. Il faudrait rendre accessible une image de ce repository afin de s'assurer que la même configuration est utilisée sur tous les sites de développement !

Configuration développement/production

Pour éviter d'avoir à re-modifier les fichiers de propriété lorsque l'on passe du mode développement au mode production (ou au mode test), des fichiers de configuration différents sont rangés dans des répertoires en fonction du mode. Par exemple

  • ./resources/main contient tous les fichiers de configuration nécessaire à la production. Ce sont ces fichiers qui sont décrit dans la documentation admin.
  • ./resources/dev contient la version « développement » de certains des fichiers de configuration et permet, par exemple, de faire en sorte que PIMS_ROOT pointe sur un répertoire de développement, et que springDataSource.xml soit configuré pour utiliser une base de données de tests.

Des tâches ANT, configure.dev, etc. permettent de configurer le projet avec les fichiers en fonction du mode désiré.

FIXME: Le nom exacte des cibles ANT et/ou des répertoires propres aux configurations ne sont pas toujours identiques d'un projet à l'autre !!! A corriger. En attendant, une description est données pour chaque module.

eP-Back

Le module eP-Back correspond au projet de développement eP-Backpims.

Les fichiers spécifiques aux modes de développement sont sous ./resources/dev et sont identiques à ceux nécessitant une configuration pour l'installation d'eP-Back, voir eP-Back.

La cible Ant “configure.dev” permet de copier les fichiers spéciques au mode de développement dans le classpath. Il n'y a pas de cible Ant “dist.dev” puisqu'il suffit d'exécuter la classe BackPimsApp depuis Eclipse pour tester BackPims en mode developpement.

eP-Core

eP-Core est le module contenant les parties métier et accès à la base de données d'ePims, pour cela il utilise les frameworks/outils Hibernate et Spring.

FIXME: Voir ce qu'il y a de spécifique à faire à ce niveau là !

Le fichier spécifique au mode de développement est sous ./resources/dev et est identique à celui nécessitant une configuration pour l'installation, voir eP-Core. Une fois ce fichier modifié, il faut lancer la cible ANT “dist.dev” pour mettre à jour la configuration d'eP-Core pour le développement. Puis la cible “create.onejar” pour créer une distribution à déployer sur le serveur d'application de développement (“onejar” car cette cible créé un jar contenant eP-Core et toute ses dépendances).

FIXME: Reprendre les cibles ANT afin de regrouper (ou non) : publish / publish.libs / create.onejar / dist …

eP-Web

eP-Web est l'application web d'ePims.

Il est nécessaire de configurer d'une part le fichier de propriétés eP-Web.properties (qui se trouve sous ./resources/main FIXME A dupliquer dans le repertoire dev?) et d'autre part le fichier ./WebRoot/WEB-INF/geronimo-web.xml La configuration est identique à celle définie dans ep-web_ep-webservices

Il faut ensuite exécuter la cible ANT “configure” pour répercuter ces modifications.

eP-WebServices

eP-WebServices est le module de publication de certains services d'eP-Core (utilisés par eP-Plate par exemple).

De même que pour eP-Web, il est nécessaire de configurer le fichier ./WebRoot/WEB-INF/geronimo-web.xml en utilisant les définitions données dans ep-web_ep-webservices.

ePims

ePims est l'application EAR contenant eP-Web et eP-WebService.

Si une erreur apparait au niveau du serveur associé à l'application (Targeted Runtimes), il faut aller dans les propriétés de l'application, page 'targeted runtimes', déselectionner 'Apache Geronimo 1.1' et soit le resélectionner soit le recréer …

Il n'y a pas de cible Ant pour ce projet. Néanmoins il est nécessaire de correctement configurer ePims au niveau de la data source… voir la configuration des modules d'ePims dans la documentation admin

eP-Plate

FIXME

wiki/epims3_3/developer/configdev.txt · Last modified: 2008/10/02 10:21 (external edit)