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/03/03 13:36]
dupierris
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 38: 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 45: 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é).   * 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.
  
  
 +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 [[:]]
  
  
 ==== Configuration des Modules ==== ==== 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 == == Configuration développement/​production ==
Line 99: 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. ​
  
-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  +Il est nécessaire de configurer ​(La configuration est identique à celle définie dans [[..:​admin:​configurationepims#​ep-web_ep-webservices]]) 
-La configuration est identique à celle définie dans [[..:admin:configurationepims#​ep-web_ep-webservices]]+  * 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é ​
  
-Il faut ensuite exécuter la cible ANT "configure" ​pour répercuter ​ces modifications.+  <​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 120: 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 ===
-ePims est l'​application EAR contenant eP-Web et eP-WebService.+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 ...  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:​]]+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.1204547792.txt.gz · Last modified: 2008/09/24 15:35 (external edit)