Fragments Web

Lors du développement d'applications Web, incluez les composants dans un fichier JAR (Java archive) de fragment Web si plusieurs modules utilisent les mêmes composants. Le fichier JAR de fragment Web contient les métadonnées et les fichiers classe de composant. Cette pratique facilite la copie d'une application vers une autre.

Les fragments du descripteur de déploiement de module Web (fragments Web) fournissent les mêmes métadonnées de configuration que le fichier web.xml, mais ils existent comme fichier web-fragment.xml incorporé dans un fichier JAR dans le répertoire WEB-INF/lib.

Les développeurs d'infrastructure fournissent des fichiers JAR inclus dans une application Web qui utilise cette infrastructure. Si cette infrastructure utilise des servlets, des filtres ou une autre configuration de module Web, les fragments permettent de simplement faire glisser le fichier JAR vers une application sans avoir à modifier la configuration du module Web. Auparavant, les développeurs d'applications Web devaient étendre leur configuration avec des métadonnées supplémentaires nécessaires à l'infrastructure. Un autre cas est l'utilisation des mêmes composants dans les modules Web, indiquée précédemment. En outre, l'utilisation d'objets de travail ou de talons peut être simplifiée avec des fragments Web.

L'analyse des segments Web diminue les performances de chaque fichier JAR dans lequel elle recherche un fichier web-fragment.xml. Plus le nombre de fichiers JAR est élevé dans une application Web, plus les performances sont affectées. Si les performances concernent la demande, désactivez l'analyse des fragments en affectant à l'élément metadata-complete la valeur true et incluez la configuration nécessaire dans le fichier web.xml.
Eviter les incidents Eviter les incidents: La désactivation de l'analyse des fragments Web désactive l'analyse des annotations. Par conséquent, si vous avez besoin de l'une ou de l'autre, ces deux éléments sont analysés.gotcha
Important : Affectez à l'élément metadata-complete la valeur true dans le fichier web.xml pour désactiver l'analyse des fragments. Utilisez la balise d'ordre absolu dans le fichier web.xml pour forcer un ordre d'analyse des fragments Web ou analyser un sous-ensemble de ces fragments. Utilisez la balise d'ordre relatif dans les fichiers web-fragment.xml pour définir l'ordre relatif par rapport à un autre fragment.
L'inclusion de fragments dans une application Web peut exposer par erreur des noeuds finaux à des risques de sécurité si vous ne connaissez pas les servlets, les filtres ou les contraintes de sécurité inclus dans un fragment Web. Vérifiez que tous les filtres de servlet configurés et les contraintes de sécurité fonctionnent correctement.
Eviter les incidents Eviter les incidents: S'il existe un conflit dans les fragments Web, les applications ne sont pas déployées. S'il existe un conflit lors de l'installation de l'application, affichez le fichier SystemOut.log pour identifier les éléments en conflit.gotcha
Remarque : Cette rubrique fait référence à un ou plusieurs des fichiers journaux de serveur d'applications. Il est recommandé de configurer le serveur de telle sorte qu'il utilise l'infrastructure de journalisation et de trace HPEL (High Performance Extensible Logging) à la place des fichiers SystemOut.log, SystemErr.log, trace.log et activity.log sur les systèmes distribués et IBM® i. Vous pouvez également utiliser HPEL conjointement avec vos fonctions de journalisation z/OS natives. Si vous utilisez l'infrastructure HPEL, vous pouvez accéder à toutes les informations de journalisation et de trace en utilisant l'outil de ligne de commande LogViewer à partir de votre répertoire bin de profil de serveur. Pour plus d'informations sur l'utilisation de HPEL, voir les informations sur l'utilisation de HPEL en vue du traitement des incidents liés aux applications.
Règles générales de fusion des fragments Web et des annotations dans la spécification Servlet 3.0 :
  • Les annotations et les métadonnées de fragments Web sont recherchées dans les fichiers JAR seulement si ces fichiers se trouvent dans le répertoire WEB-INF/lib. Elles ne sont pas recherchées dans les bibliothèques partagées.
  • Les annotations qui se trouvent dans les classes du répertoire WEB-INF/classes sont d'abord fusionnées, puis elles deviennent prioritaires par rapport aux métadonnées contenues dans le répertoire WEB-INF/lib.
  • Tous les fichiers JAR du répertoire WEB-INF/lib sont considérés comme des fragments Web, qu'ils contiennent ou non un fichier web-fragment.xml. S'il n'existe aucun fichier web-fragment.xml dans un fichier JAR, on considère que ce fichier contient un fichier web-fragment.xml vide implicite.
  • Les annotations de chaque fichier JAR du répertoire WEB-INF/lib sont fusionnées dans le fichier web-fragment.xml correspondant avant la recherche de fragments Web conflictuels. Par conséquent, les conflits d'annotations de différents fragments empêchent le déploiement de l'application.
  • Si vous définissez l'ordre des fragments Web, les annotations et les métadonnées de fragments Web concernant un fragment Web sont fusionnées avant un autre fragment qui occupe une place plus loin dans le classement.
  • Etant donné que tous les fichiers JAR du répertoire WEB-INF/lib sont considérés comme des fragments, l'élément <others> d'un élément <absolute-ordering> s'applique à tous les fichiers JAR qui ne sont pas mentionnés ailleurs dans le classement.
 

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cweb_webfragments
Nom du fichier : cweb_webfragments.html