ATTENTION : Tutorial en cours d'écriture ! N'hésitez pas à nous signaler toute erreur ou suggestion.
Accès rapide : Structure globale du fichier WEB-INF/web.xml Paramétrage du module de traces Ellipse Paramétrage du module de statistiques Paramétrage du moteur d'indexation Paramétrage via le plugin Ellipse
Bien que n'utilisant pas l'ensemble des technologies web proposées par la plate-forme J2EE, le framework Ellipse s'appuie néanmoins sur la notion de servlets. Ce choix permettant de garantir que les pages Web développées via Ellipse pourront s'exécuter sur n'importe quel serveur d'application J2EE (JBoss, ...), voir même simplement sur Tomcat. De ce choix découle le fait qu'une application Web Ellipse doit être déployée dans un WAR et donc se configure par l'intermédiaire du fichier WEB-INF/web.xml. C'est sur le contenu de ce dernier fichier que ce chapitre va porter son attention.
WEB-INF/web.xml
Le fichier WEB-INF/web.xml est ce que l'architecture J2EE appelle un descripteur de déploiement : c'est à dire qu'il contient des informations de configuration sur les différents composants Web à déployer sur le serveur Tomcat (ou autre). Traditionnellement ce fichier contient au moins deux aspects (bien que le standard J2EE en supporte d'autres) : les configurations des servlets et les définitions de paramètres d'initialisation du contexte associé à l'application. Reprenons ces deux points un à un.
Le framework Ellipse se base sur une architecture MVC 2 avec tout de même quelques nuances d'implémentation, relativement aux autres frameworks Java similaires (Struts 1, Struts 2 ou encore JSF). Malgré ces nuances, l'approche MVC 2 impose un point commun à tous ces frameworks. Une servlet sert de contrôleur principal : elle repassera ensuite la main à des contrôleurs secondaires (implémentés sous forme de classes de page Web). Le contrôleur principal est représenté par la classe corelib.services.web.webapplications.ControllerServlet. Une configuration de servlet est donc obligatoire pour ce contrôleur. Cette configuration sera, de plus, mise en relation avec toutes les requêtes se terminant par .wp. Il vous est possible de définir d'autres configurations de servlets, mais elles ne rentreront nullement en jeu dans le fonctionnement normal de vos pages Web.
corelib.services.web.webapplications.ControllerServlet
.wp
Pour ce qui est de vos paramètres de configuration, ils seront introduits via le tag XML <context-param>. Un paramètre sera constitué de deux parties : son nom et sa valeur. Le nom d'un paramètre sera introduit via le sous-tag <param-name>. La valeur associée, le sera par l'intermédiaire d'un sous-tag <param-value>. L'exemple ci-dessous (correspondant au fichier de configuration de l'application de démonstration du framework Ellipse) vous montre un exemple de définition de paramètre ainsi que la configuration de votre contrôleur principal (la servlet de type ControllerServlet).
ControllerServlet
01 <?xml version="1.0" encoding="UTF-8"?> 02 <!DOCTYPE web-app PUBLIC 03 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 04 "http://java.sun.com/dtd/web-app_2_3.dtd"> 05 06 07 <web-app> 08 09 <display-name>Virtual Caddy - Ellipse Sample</display-name> 10 <description>Ellipse Sample</description> 11 12 <context-param> 13 <param-name>TRACE_ENABLED</param-name> 14 <param-value>true</param-value> 15 </context-param> 16 <context-param> 17 <param-name>TRACE_LOCALHOST_ONLY</param-name> 18 <param-value>true</param-value> 19 </context-param> 20 <context-param> 21 <param-name>TRACE_URL</param-name> 22 <param-value>Trace.wp</param-value> 23 </context-param> 24 25 26 <servlet> 27 <servlet-name>Ellipse Servlet</servlet-name> 28 <servlet-class>corelib.services.web.webapplications.ControllerServlet</servlet-class> 29 </servlet> 30 31 <servlet-mapping> 32 <servlet-name>Ellipse Servlet</servlet-name> 33 <url-pattern>*.wp</url-pattern> 34 </servlet-mapping> 35 36 </web-app>
Pour ce qui est de l'association de l'extension ".wp" à notre contrôleur principal (lignes 31 à 34), notez qu'il n'y a aucune obligation dans l'absolue. Si vous préférez utiliser une autre extension (pourquoi pas ".toto") cela fonctionnera très bien. Néanmoins, ".wp" pour "Web Page" n'est peut être pas si mal que çà.
Le framework Ellipse intègre un module de traces permettant d'historiser le contenu des requêtes émises pour une application Web donnée. La configuration de ce module de traces s'effectue, bien entendu, à partir du fichier WEB-INF/web.xml. L'image ci-dessous vous présente un exemple d'affichage de traces pour l'application de démonstration du framework. Suivra un tableau présentant l'ensemble des paramètres de configuration du module de traces.
Le framework propose aussi un module de statistiques permettant de connaître le nombre de sessions ouvertes par jour, les proportions de navigateurs utilisés sur votre application Web, ... Bien entendu, ce module est paramétrable, bien qu'il en soit qu'à ses débuts. Voici donc la liste des paramètres supportés à ce jour.
Le framework Ellipse propose aussi un moteur d'indexation pour vos pages Web. Pour de plus amples informations, je vous renvois vers la fiche technique associée à ce module.
Le fichier WEB-INF/web.xml peut, bien entendu, être édité à la main. Néanmoins, l'utilisation du plugin Ellipse pour Eclipse vous simplifiera grandement la vie. A titre d'exemple, considérons la construction d'un nouveau projet Web basé sur le framework Ellipse : pour ce faire, veuillez suivre les étapes suivantes :
Dominique LIARD - © 2007..2010 SARL Infini Software - Tous droits réservés Les autres marques et les noms de produits cités dans ces documents sont la propriété de leurs détenteurs respectifs.