AccueilđŸ‡«đŸ‡·Chercher

EAR (format de fichier)

Un EAR (pour Enterprise Application ARchive) est un format de fichier utilisé par Java EE pour empaqueter (en) un ou plusieurs modules dans une seule archive, de façon à pouvoir déployer ces modules sur un serveur d'applications en une seule opération, et de façon cohérente.

EAR (Enterprise Application Archive)
Caractéristiques
Extension
.ear
Type MIME
application/java-archive
Signature
50 4B 03 04 (hexa)
Développé par
Type de format
Conteneur de fichiers
Modules Java
Basé sur

Dans ces archives, le rĂ©pertoire META-INF contient les fichiers descripteurs de dĂ©ploiement (en) au format XML, qui indiquent comment les modules doivent ĂȘtre dĂ©ployĂ©s sur le serveur.

Structure du fichier

Un fichier EAR est un JAR standard, dont l'extension a été changée en .ear. Il contient un ou plusieurs répertoires contenant les modules de l'application, ainsi qu'un répertoire META-INF contenant les méta données, c'est-à-dire les fichiers descripteurs de déploiement.

Les modules

DiffĂ©rents Ă©lĂ©ments peuvent ĂȘtre contenus dans un fichier EAR, pour ĂȘtre dĂ©ployĂ©s sur le serveur :

  • Une archive d'application web, avec une extension .war. C'est un Ă©lĂ©ment consistant en un ou plusieurs composants de l'application web (rĂ©pertoires et fichiers), et son descripteur de dĂ©ploiement spĂ©cifique (contenu dans un rĂ©pertoire WEB-INF).
  • Des classes Java, groupĂ©es dans des archives .jar.
  • Un module Enterprise JavaBean dans une archive .jar, qui contient dans son propre rĂ©pertoire META-INF son descripteur de dĂ©ploiement spĂ©cifique. Une fois dĂ©ployĂ©s, ces beans sont visibles aux autres composants.
  • Éventuellement, un Resource Adapter (connecteur) dans un fichier .rar.

Isolement des classes

La plupart des serveurs d'application chargent les classes d'un EAR par un arbre de classloaders isolant les exĂ©cutions des applications entre elles, mais permettant le partage des classes entre les modules Ă  l'intĂ©rieur de l'application elle-mĂȘme. Ainsi, un code prĂ©sent dans un JAR pourra ĂȘtre utilisĂ© par toutes les webapps de l'application, mais pas par celles dĂ©ployĂ©es depuis un autre EAR. Une des raisons les plus importantes expliquant cet isolement est de permettre la sĂ©paration complĂšte entre applications qui utilisent des singletons statiques (par exemple ceux prĂ©sents dans Log4J, souvent inclus dans les applications). Cette sĂ©paration Ă©vite que des configurations statiques se mĂ©langent. Une autre raison pratique est de permettre l'utilisation de diffĂ©rentes versions d'une mĂȘme bibliothĂšque dans des applications dĂ©ployĂ©es sur le mĂȘme serveur.


Le répertoire META-INF

Ce répertoire contient au moins le fichier de description de déploiement application.xml, qui indique la méthode d'installation des modules sur le serveur. Il contient les balises XML suivantes :

  • icon, qui indique l'emplacement pour les logos de l'application. Une diffĂ©renciation est faite entre small-icon et large-icon.
  • display-name, qui indique le nom de l'application
  • description, qui indique une description sommaire de l'application
  • Une balise module pour chaque module contenu dans l'archive
  • en option, plusieurs balises security-role dĂ©finissant les rĂŽles pour la sĂ©curitĂ© gĂ©nĂ©rale de l'application

Chaque balise module contient une balise ejb, web ou java qui indique quel type de module est présent, et qui le décrit. Les modules pour les applications webs contiennent en plus la balise context-root qui spécifie l'URL permettant aux utilisateurs d'y accéder.

En plus de ce descripteur de déploiement peuvent se trouver un ou plusieurs descripteurs d'exécution spécifiant des paramÚtres additionnels à utiliser lors de l'exécution de la JVM.

Voir aussi

Notes et références

    Liens externes

    Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.