Hemos visto en el anterior post cual es la estructura de un fichero WAR. En este veremos la estructura de un fichero EAR o Enterprise Archive. Este tipo de ficheros son desplegables en servidores de aplicaciones que soporten el stack completo de JEE .Es decir contengan tanto un servlet container como un EJB Container . Los ficheros EAR que tienen la siguiente estructura:
Como podemos ver un EAR es capaz de albergar varios ficheros WAR cada uno de los cuales contiene una aplicación web completa.
Aparte de albergar varias aplicaciones web también tiene la capacidad de contener EJBs que son empaquetados en archivos JAR para su utilización en las distintas aplicaciones web.
Aparte de estos ficheros disponemos de la carpeta lib para almacenar JARs que contenga clases que sean utilizadas o por los EJBS o por las aplicaciones web que tenemos empaquetadas.
Los EAR disponen del fichero application.xml (directorio META-INF) que define la estructura de modulos incluidos en este tipo de empaquetamiento .Vamos a ver un ejemplo sencillo.
<?xml version=<em>"1.0"</em> encoding=<em>"UTF-8"</em>?> <application xmlns:xsi=<em>"http://www.w3.org/2001/XMLSchema-instance"</em> xmlns=<em>"http://java.sun.com/xml/ns/javaee"</em> xmlns:application=<em>"http://java.sun.com/xml/ns/javaee/application_5.xsd"</em> xsi:schemaLocation=<em>"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd"</em> version=<em>"6"</em>> <display-name>MiEAR</display-name> <module> <web> <web-uri>Web01.war</web-uri> <context-root>Web01</context-root> </web> </module> <module> <ejb>EJB.jar</ejb> </module> </application>
Como podemos ver nuestro Enterprise Archive esta compuesto de un módulo de EJB (EJB.jar) y un módulo Web (Web01.war). Una vez revisados cada uno de los empaquetamientos pasaremos en los próximos post a hablar de Maven.