User Tools

Site Tools


wiki:epims4_0:developer:configdev

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:epims4_0:developer:configdev [2008/02/25 16:59]
barthe
wiki:epims4_0:developer:configdev [2008/11/12 11:16] (current)
Line 1: Line 1:
 ====== Configuration ePims pour le développement ====== ====== Configuration ePims pour le développement ======
 +
 +
 +===== Remarque =====
 +
 +FIXME: Attention les targets "SANS IDE" ne sont pas commité sous SVN !!!
  
 ===== Introduction ===== ===== Introduction =====
Line 28: Line 33:
  
 ===== Environnement de développement ===== ===== Environnement de développement =====
 +
 +
 +
  
  
Line 37: Line 45:
  
 === Plugins === === 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.+Pour la partie développement,​ nous utilisons **Eclipse Europa** (version 3.3). Les différents modules que l'on trouvent sous SVN sont donc formaté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 : 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. ​   * Choisir dans le menu Help, Software Updates > Find and install. ​
Line 44: Line 52:
   * Sélectionner le plugin désiré !!!   * Sélectionner le plugin désiré !!!
  
-Pour les modules web, il est nécessaire d'insatller ​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. +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 :  +Il est également possible d'​utiliser directement une distribution d'​Eclipse pour les développement JEE (eclipse-jee-europa-winter-win32.zip). Les versions de plugins installés avec cette distribution d'​Eclipse sont identifié par ''​Ec_JEE''​ 
-  * **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.... +Les autres plugins à installer sont : 
-  * **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).  +  * **Subclipse** Plugin. ​ 
-  * **Hibernate Tools**, version 3.2.0.GA (cf Geronimo Eclipse juste au-dessus pour l'installation)+    * Version ​1.2.4. Le site d'​update http://​subclipse.tigris.org/​update_1.2.x peut être utilisé 
 +    * Version 1.4.5. Le site d'​update est http://​subclipse.tigris.org/​update_1.4.x (''​Ec_JEE''​). Les features (avec toutes leurs sous-features) '​JavaHL Adapter'​ et '​Subclipse'​ ont été sélectionnées. (A tester avec d'​autres pour utilisation avec Mylyn) 
 +  * **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...
 +    * version 2.2.0 (actuellement proposée. ''​Ec_JEE''​) Sélectionne uniquement la feature'​ Core'
 +  * **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 ​[[http://​archive.eu.apache.org/​dist/​geronimo/​eclipse/​2.0.0/​]] ​puis copiez les contenus des dossiers //plugins// et //​features//​ dans leur équivalent du répertoire d'​installation d'​eclipse). ​ 
 +    * version 2.1.3 (à partir de cette version, les serveurs Geronimo 2.0.x et 2.1.x sont supportés par le même plugin. ''​Ec_JEE''​). Voir la page d'aide [[http://​cwiki.apache.org/​GMOxDOC21/​how-to-install-geronimo-eclipse-plugin.html|de Geronimo]]. Soit utiliser le site d'​update http://​apache.org/​dist/​geronimo/​eclipse/​updates/​ et sélectionner Geronimo 2.0 Server Adapter; ​ soit dans la fenêtre ''​Windows > Preferences > Server > Installed Runtimes'',​ cliquer sur Download additional server adpter et choisir Geronimo 2.0 Server Adapter. __**ATTENTION**__:​ **tests en cours : le serveur Geronimo n'est pas proposé ensuite !! Rester sur la version 2.0.0.... pour le moment :o)** 
 +  * **Hibernate Tools**, version 3.2.x.GA. Utilisation du site d'​update http://​download.jboss.org/​jbosstools/​updates/​stable et sélectionne uniquement Hibernate Tool (? ... les autres ?? ''​Ec_JEE'​')
  
 === Configuration === === Configuration ===
  
-  * Dans la perspective SVN, entrer l'URL du repository ​''​https://​www.grenoble.prabi.fr/​svn/​MSISofts/​ePims''​+  * Dans la perspective SVN, entrer l'URL du repository ​(URL indiqué sur le site de gestion de projet. Pour plus d'information voir la page d'accueil [[:]] )
   * Windows > Preferences > Java - Installed JREs : ajouter le **JDK** de java 1.5    * 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).    * 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.puis configurer le chemin du répertoire d'​installation de Geronimo.+  * Dans ''​Windows > Preferences > Server > Installed Runtimes'',​ ajouter un Server Runtime pour Geronimo ​2.0  ​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é).
  
  
 +==== IVY : Librairies tierces ====
 +Les tâches ANT utilisant ivy utilise un fichier de propriétés qui doit se trouver sous votre //user home// (C:​\Documents and Settings\<​login>​ sous windows anglais par exemple...). Ce fichier, ivyconf.properties,​ contient la définition de deux propriétés :
  
 +''​
 +ivy.local.repository.path=C:/​Divers/​repository
 +\\
 +ivy.distrib.dir=C:/​Divers/​dist
 +''​
  
 +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.
  
-==== Configuration des Modules ==== 
  
-== Librairies tierces == +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 ! Si vous rencontrez des problèmes contactez-nous ! voir page d'accueil [[:]]
-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 des Modules ====
  
 == Configuration développement/​production == == 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.  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 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/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. ​   * ./​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. ​
  
Line 93: Line 116:
 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. 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à !+FIXME: Voir ce qu'il y a de spécifique à faire à ce niveau là ! (utile à Eclipse et lors de modification du modele) ​
  
 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 [[../​admin:​configurationepims#​eP-Core]]. ​ 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 [[../​admin:​configurationepims#​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). 
  
-FIXMEReprendre les cibles ​ANT afin de regrouper (ou  non) : publish ​publish.libs ​create.onejar ​/ dist ...+__Targets Ant dans Eclipse et sans IDE :__ 
 + 
 +  - la cible ANT **"​dist.dev"​**,​ une fois le fichier ​de configuration modifié, est lancée pour mettre à jour la configuration d'​eP-Core pour le développement.  
 +  - la cible "​create.onejar"​ permet de 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)
 + 
 +La première cible génère la structure suivante ​: 
 +  * bin/dist/ 
 +    * eP-Core-<​version>/​ 
 +      * lib/ contient toutes les librairies nécessaire à eP-Core 
 +      * eP-Core.VERSION: fichier texte contenant la version et date de création 
 +      * eP-Core-<​version>​.jar : jar contenant les classes d'​eP-Core  
 +    * eP-Core-<​version>​.zip : zip contenant le répertoire eP-Core-<​version>​ 
 + 
 +La seconde ajoute dans bon/dist 
 +   * oneJar/ 
 +     * eP-Core-<​version>​.jar : jar contenant les classes d'​eP-Core et toutes les librairies nécessaire à eP-Core 
 +     * ePCore.properties : fichier de propriété à modifier (cf ci-dessus) 
 +     * updateJar.bat/​sh : script de mise à jour de ePCore.properties dans le jar 
  
 === eP-Web === === eP-Web ===
  
-eP-Web est l'​application web d'​ePims.+eP-Web est l'​application web d'​ePims. ​
  
-Le seul fichier ​de configuration ​d'​eP-Web ​est //​eP-Web.properties//​ (qui se trouve sous ./​resources/​main FIXME A dupliquer dans le repertoire dev?) +Il est nécessaire ​de configurer (La configuration est identique à celle définie dans [[..:​admin:​configurationepims#​ep-web_ep-webservices]]) 
-Une fois ce fichier ​modifié comme il se doit (voir [[ici]]il faut lancer ​la cible ANT "dist".+  * le fichier de propriétés ​//​eP-Web.properties//​ (qui se trouve sous ./​resources/​main FIXME A dupliquer dans le repertoire dev?)  
 +  * le fichier ​./​WebRoot/​WEB-INF/​geronimo-web.xml  
 +  * le fichier */​WebRoot/​jnlp/​epplate.jnlp : mettre le nom/port du serveur web pour la propriété  
 + 
 +  <​application-desc ​ ...> 
 +     <​argument>​...</​argument>​ 
 +  </​application-desc > 
 + 
 + 
 +__Dans le contexte Eclipse :__ 
 + 
 +Il faut définir une User Library qui pointe sur eP-Core. Pour cela, menu Windows > Preferences,​ sélectionner Java / Build Path / User Libraries et New. La nouvelle librairie a pour nom ''​eP-Core-3.4.0'' ​ et pointe soit sur le jar issu de la target oneJar d'​eP-Core soit le jar d'​eP-Core issu de dist et toutes les librairies nécessaire à eP-Core. Si un autre nom est utilisé, ​il faut modifier le build path du projet eP-Web ​(properties / Java Buils Path, choisir l'​onglet Libraries et cliquer sur add Library)... 
 + 
 +Il faut ensuite exécuter ​la cible ANT **configure** pour répercuter les modifications faites dans les différents fichiers de config. 
 + 
 +__Dans un contexte sans IDE :__ 
 + 
 +En attendant une mailleur structuration et organisation des différents projets, pour générer le .war à intégrer dans le EAR d'​ePims,​ il faut : 
 + 
 +  * Il faut copier le fichier eP-Core.jar issu de la target oneJar d'​eP-Core dans ./​WebRoot/​WEB-INF/​lib 
 +  * Il faut copier le jar contenant l'api de Servlet / JSP (A DEFINIR PRECISEMENT) dans ./​WebRoot/​WEB-INF/​lib 
 +  * exécuter la cible Ant **dist.full**
  
  
Line 112: Line 173:
 eP-WebServices est le module de publication de certains services d'​eP-Core (utilisés par eP-Plate par exemple). eP-WebServices est le module de publication de certains services d'​eP-Core (utilisés par eP-Plate par exemple).
  
-Il n'​y ​pas de configuration particulière ​à faire dans eP-WebServices.+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 [[..:​admin:​configurationepims#​ep-web_ep-webservices]].  
 + 
 +__Dans le contexte Eclipse :__ 
 + 
 +Il faut définir une User Library qui pointe sur eP-Core. Pour cela, menu Windows > Preferences,​ sélectionner Java / Build Path / User Libraries et New. La nouvelle librairie ​pour nom ''​eP-Core-3.4.0'' ​ et pointe soit sur le jar issu de la target oneJar d'​eP-Core soit le jar d'​eP-Core issu de dist et toutes les librairies nécessaire ​à eP-Core. Si un autre nom est utilisé, il faut modifier le build path du projet eP-Web (properties / Java Buils Path, choisir l'​onglet Libraries et cliquer sur add Library)... 
 + 
 +Il faut ensuite exécuter la cible ANT **configure.dist** pour répercuter les modifications faites ​dans les différents fichiers de config. 
 + 
 +__Dans un contexte sans IDE :__ 
 + 
 +En attendant une mailleur structuration et organisation des différents projets, pour générer le .war à intégrer dans le EAR d'​ePims,​ il faut : 
 + 
 +  * Il faut copier le fichier ​eP-Core.jar issu de la target oneJar d'​eP-Core dans ./​WebRoot/​WEB-INF/​lib 
 +  * exécuter la cible Ant **dist.full** 
 + 
 +=== ePims === 
 +ePims est l'​application EAR contenant eP-Web et eP-WebService. 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:​]] 
 + 
 + 
 +__Dans le contexte Eclipse :__ 
 +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 lorsque l'on déploie à partir de Eclipse
  
 +__Dans un contexte sans IDE :__
 +En attendant une mailleur structuration et organisation des différents projets, pour générer le .ear il faut 
 +  * copier eP-Web.war à la racine du projet
 +  * copier eP-WebServices.war à la racine du projet
 +  * exécuter la cible Ant **dist** Le EAR généré peut alors être déployé sur le serveur Geronimo
  
 === eP-Plate === === eP-Plate ===
 FIXME FIXME
wiki/epims4_0/developer/configdev.1203955198.txt.gz · Last modified: 2008/09/24 15:35 (external edit)