http://www.mediapluspro.com/mediaplus66/client_net/mediabook/med...

Déploiement d’une application sur Apache Tomcat
La dernière étape d’une application est son déploiement. Nous présentons dans ce paragraphe le déploiement sur Apache Tomcat. Ce déploiement est simple puisque le compilateur prépare nativement une application web compatible avec les conteneurs de servlets dans son dossier war. Il reste ensuite à configurer correctement la compilation.

1. Compilation d’une application
La compilation d’une application GWT avec Eclipse est simple puisque nous disposons comme pour les autres étapes d’un formulaire reprenant les points importants. Sélectionner le projet à compiler. Clic droit sur ce projet, puis Google - GWT Compile. Sélectionner le module point d’entrée à compiler (en général, il n’y en a qu’un dans une application). Cliquer sur Compile. Le compilateur transformera le code Java du paquetage client en permutations JavaScript correspondant aux différentes cibles de l’application. Le code server sera compilé en bytecode et utilisé par le conteneur de servlets.

a. Options de sorties
Deux paramètres principaux, présents sur le formulaire de compilation proposés par Eclipse, sont à prendre en compte lors de la compilation. Log level Le paramètre log level permet de définir le niveau de journalisation du compilateur lors de la compilation. En règle générale, il n’est pas nécessaire d’avoir des logs très précis sauf pour savoir exactement comment le compilateur se comporte sur certaines classes lors de la compilation. Par défaut, le compilateur présente dans la console les informations suivantes : Compiling module com.exemple.projet.LivreGWT Compiling 6 permutations Compiling permutation 0... Compiling permutation 1... Compiling permutation 2... Compiling permutation 3... Compiling permutation 4... Compiling permutation 5... Compile of permutations succeeded Linking into workspace\LivreGWT\war\livregwt. Link succeeded Compilation succeeded - 19,190s Comme toute compilation, elle se décompose en deux parties : la compilation du code et l’édition des liens. Ce niveau de journalisation (le plus faible) nous permet de savoir combien de permutations sont produites. Des niveaux de journalisation plus élevés permettent d’avoir davantage d’informations. Par exemple, le niveau Trace permet de retourner des informations plus détaillées sur la compilation : Computing all possible rebind results for ’com.exemple.projet.client.clientbundle.AppBundle’ Rebinding com.exemple.projet.client.clientbundle.AppBundle Invoking com.google.gwt.dev.javac.StandardGeneratorContext@1f71a09 Preparing method add Adding image ’add’ Preparing method alert Adding image ’alert’ Dans cet exemple, le compilateur prépare un ClientBundle (cf. chapitre Techniques avancées Ressources).

1 sur 3

16/05/2011 10:57

return chaine. comprendre le travail effectué par le compilateur. i++) chaine = chaine. elle assure une certaine confidentialité des procédés et un besoin en ressource diminué. i. } La compilation en mode detailed. un code JavaScript très compressé et illisible (obfuscated). return chaine. Une compilation obfuscated est destinée à être mise en production. nous avons le nom des permutations (strong name) et la taille de chacune d’elles. i < count. l’édition de lien sera plus détaillée : Linking into workspace\LivreGWT\war\livregwt. chaine = $intern_0. ++i) chaine = chaine + $intern_1 + i. Permutation 0 (strong name 411AEB3C8A3924AFF0521059C0E58DDE) has an initial download size of 36568 and total script size of 36568 Permutation 1 (strong name ABC44B1D7E3D8FB90BA905359382D563) has an initial download size of 36639 and total script size of 36639 Permutation 2 (strong name E08DFF61527BE80A85AF42D9E41A14F7) has an initial download size of 43589 and total script size of 43589 Permutation 3 (strong name 090DB66768F97276D7A10112097F7CB4) has an initial download size of 39456 and total script size of 39456 Permutation 4 (strong name C10248E9BFA28060CF725FF6DE0B40D1) has an initial download size of 35808 and total script size of 35808 Permutation 5 (strong name 59828941627FB331D09E3560FA6EC170) has an initial download size of 37490 and total script size of 37490 Invoking Linker RPC policy file manifest Invoking Linker Standard Invoking Linker Export CompilationResult symbol maps Invoking Linker Emit compile report artifacts Linking compilation into workspace\LivreGWT\war\livregwt Link succeeded Sur cette configuration. 2 sur 3 16/05/2011 10:57 . Exemple de différence de compilation Soit la fonction maMethode suivante : public String maMethode(int count){ String chaine = "methode". nous voyons que l’éditeur de lien Standard est utilisé. De plus. De même. En effet.. Nous pouvons définir : obfuscated pretty detailed Le principe est de permettre de fournir une permutation JavaScript sous une forme différente suivant les besoins : cela peut être un code JavaScript lisible par le développeur (detailed).mediapluspro. Il existe plusieurs éditeurs de lien fournis avec GWT mais le sujet ne sera pas abordé dans cet ouvrage. etc. for(int i=0.http://www. Output style Le second paramètre est le type de code JavaScript à produire. i<count.concat(" maMethode"+i). beaucoup moins volumineux. for (i = 0. Une compilation detailed peut être utilisée par le développeur pour tracer d’éventuelles erreurs JavaScript. mais volumineux et à l’opposé. de celle-ci donne : function com_exemple_test_client_Test_$maMethode__Lcom_exemple_test_client_ Test_2ILjava_lang_String_2(count){ var chaine.com/mediaplus66/client_net/mediabook/med..

Par défaut. il est nécessaire d’importer le Jar gwt-servlet. b. Ainsi.b=oe.return b} Les symboles oe. Ici. 3. ou dans le dossier des bibliothèques partagées si plusieurs applications en ont besoin. etc.mediapluspro.css).++c)b=b+pe+c. 3 sur 3 16/05/2011 10:57 . La compilation en mode obfuscated donne : function u(a){var b. Import des bibliothèques externes Dans le cas d’une application Java/Tomcat.for(c=0. L’application GWT compilée (dossier livregwt) contenant les permutations JavaScript et le chargeur (livregwt. s’il faut d’autres bibliothèques Jar.html). sont définis par ailleurs dans la permutation.http://www. Déploiement de l’application Après compilation. Structure du dossier war L’application prête à être déployée est disponible dans le dossier war après compilation. La feuille de style CSS (LivreGWT. le code est très restreint en nombre de caractères et illisible. il est possible de les copier : dans WEB-INF/lib et dans ce cas son utilisation sera propre à l’application. L’application est alors disponible à l’URL http://localhost:8080/MonApplication/.xml. Celui-ci contient les éléments suivants : La page hôte (LivreGWT.com/mediaplus66/client_net/mediabook/med. pe. les bibliothèques utilisées (WEB-INF/lib) et les classes compilées (WEB-INF/classes). il sera aussi copié. Si plusieurs applications utilisent la même version de GWT.. Le nom du dossier est libre. 2. nous pouvons déployer l’application LivreGWT en copiant le contenu du répertoire war dans le dossier tomcat-base/webapps/MonApplication/. Pour Tomcat. ce Jar est inclus dans le dossier WEB-INF/lib. } Ce code généré reste tout à fait lisible et au final assez proche de la version Java.c. Celui-ci inclut le descripteur de déploiement web.nocache.. L’application serveur (dans le cas d’une application Java/Tomcat) dans le dossier WEB-INF. Ce dossier war constitue l’application prête au déploiement. le déploiement de l’application s’effectue par la copie du dossier war/ dans un dossier du répertoire des applications web du conteneur de servlet. Enfin. lors de la copie du dossier war dans le conteneur de servlet. il est possible de factoriser ce Jar en le copiant dans le dossier des bibliothèques partagées du conteneur de servlet (lib/ pour Tomcat) : il sera alors disponible pour toutes les applications et sa présence dans WEB-INF/lib ne sera plus nécessaire.js).c<a.jar dans l’application.

Sign up to vote on this title
UsefulNot useful