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.
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.
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).
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.
| Nom du paramètre | Valeur par défaut | Description |
|---|---|---|
| TRACE_ENABLED | false | Permet d'activer ou non le module de traces intégré au framework |
| TRACE_LOCALHOST_ONLY | true | Permet de spécifier si la trace est accessible uniquement à partir du poste local (du serveur Web) ou si vous permettez l'accès aux traces à distance. |
| TRACE_URL | Trace.wp | Quel est "la pseudo page Web" permettant l'accès aux traces |
| TRACE_MAX_COUNT | 1000 | Permet de contrôler le nombre maximal de traces que le serveur peut conserver en mémoire. |
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.
| Nom du paramètre | Valeur par défaut | Description |
|---|---|---|
| STATISTICS_ENABLED | false | Permet d'activer ou d'inhiber le module de statistiques |
| STATISTICS_FILENAME | corelib/services/web/statistics.log | Permet de spécifier le fichier XML dans lequel les statistiques seront conservées. Ce fichier s'exprime relativement par rapport à la racine de l'application Web considérée |
| STATISTICS_DURATION | 365 | Nombre de jours de statistiques mémorisés dans le fichier XML. |
| STATISTICS_URL | Stats.wp | URL permettant d'invoquer la page web de présentation des statistiques |
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.
| Nom du paramètre | Valeur par défaut | Description |
|---|---|---|
| SEARCH_ENGINE_ENABLED | false | Permet d'activer ou d'inhiber le moteur d'indexation. |
| SEARCH_ENGINE_EXCLUDES | Permet de configurer le moteur d'indexation pour ne pas considérer un répertoire (ou plusieurs) de l'application Web. | |
| SEARCH_ENGINE_ADDITIONAL_SCANNERS | Permet d'ajouter des classes aptes à scanner des nouveaux types de documents contenus dans votre application Web. |
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 :
|
|
|||||||