Menú Curso Java EJB's : EAR's ("Enterprise Archives"), IDE's y Deployment Descriptors.

Espacio (Anterior) BMP "Bean Managed Persistence" Espacio CMP "Container Managed Persistence" (Siguiente) Espacio

EARS, WAR's, EJB-JAR's.

EARS ("Enterprise Archives") es una terminología utilizada para describir componentes en Application Servers, un EAR es simplemente un EJB con el respectivo cliente que interactúa con éste, la razón de su existencia se debe a la estructura de los diversos Application Servers.

Como fue mencionado al inicio de este curso, no existe una clara distinción entre los componentes de un Application Server, esto seria el "EJB Container" y el "Servlet Container", por esta razón se decidió crear el formato EAR ("Enterprise Archive") el cual esta compuesto por un EJB-JAR y un "WAR(Web-Archive)".

EJB-JAR's

Un EJB-JAR es la agrupación de las interfases ("Home" y "Remote"), el "EJB Bean" y "Deployment Descriptor" con los que se ha trabajado en este curso, la estructura de este EJB-JAR es la siguiente:

  • / *.class : Bajo este directorio base se encuentran las diversas clases que conforman un EJB.

  • /META-INF/ejb-jar.xml : Este archivo contiene el denominado Deployment Descriptor utilizado en EJB's.

  • /META-INF/* : Este directorio además del Deployment Descriptor puede contener otros archivos de configuración utilizados por el Application Server ("EJB Container" para ser más exacto).

WAR's

"WAR(Web-Archive)" es el componente que interactúa con el EJB, hasta este punto solo se ha trabajado con Clientes de Terminal debido a su sencillez, sin embargo, en la gran mayoría de desarrollos con EJB's se diseña un "WAR(Web-Archive)" que es un grupo de JSP("Java Server Pages")/Servlets, la estructura de un WAR es la siguiente:

  • / *.html *.jsp *.css : Este directorio base contiene los elementos que comúnmente son utilizados en un sitio, Documentos en HTML, JSP's , CSS("Cascading Style Sheets") u otros elementos.

  • /WEB-INF/web.xml : Contiene elementos de seguridad de la aplicación así como detalles sobre los Servlets que serán utilizados dentro de la misma.

  • /WEB-INF/classes/ : Contiene las clases Java adicionales a las del JDK que son empleadas en los JSP's y Servlets

  • /WEB-INF/lib/ : Contiene los JAR's que serán utilizados por la aplicación.

Aunque el diseñar un WAR requiere entrar en detalles específicos de JSP's y Servlets, a continuación será descrito uno con la intención de ilustrar el concepto de EAR's:

EAR's

Finalmente la estructura de un EAR ("Enterprise Archive") es la siguiente

  • /*.jar : Archivo que conforma el EJB-JAR.

  • /*.war : Archivo que conforma el "Web-Archive" que contiene los clientes (JSP/Servlets) que interactúan con el EJB-JAR.

  • /META-INF/application.xml : Este archivo contiene el denominado Deployment Descriptor utilizado en un EAR ("Enterprise Archive") .

  • /META-INF/* : Este directorio además del Deployment Descriptor puede contener otros archivos de configuración utilizados por el Application Server para la ejecución correcta del EAR.

A continuación se describe la composición de un EAR ("Enterprise Archive") :

Es muy importante conocer las terminologías anteriores ya que son ampliamente utilizadas en Application Servers, especialmente el término EAR ("Enterprise Archive"), de esta manera sabrá que se esta hablando simplemente de un EJB-JAR's (con los que se ha trabajado a lo largo de este curso) y del cliente que interactúa con éstos.

Herramientas e IDE's

Independientemente del Application Server que este utilizando éste seguramente contiene una herramienta que automatiza ciertos pasos de la creación de un EJB que pueden variar desde el "Deployment Descriptor" hasta la creación de WAR's y EAR's.

Desde luego presentan una gran ventaja, simplemente tomemos el caso de un "Deployment Descriptor" que puede contener 100 o 200 lineas de código el cual puede tomar horas en escribir, esto puede ser reducido a unos cuantos minutos contestando una serie de preguntas en estas herramientas.

A pesar de sus ventajas, muchas de estas herramientas ofrecen funcionalidades mínimas por no llamarlas austeras. Hoy en día ya existen diversos IDE's("Integrated Development Environments") que permiten no sólo las tareas anteriores sino que también agilizan la creación de código fuente para EJB's como creación de Interfases, conexiones hacia Bases de Datos y otras facilidades más ; algunos IDE's son los siguientes:

"Deployment Descriptor"

El "Deployment Descriptor" es la única parte del EJB que puede ser modificado una vez que ha sido compilado el EJB, como su nombre lo indica su uso primordial es al ejecutar ("deploy") el EJB en el Application Server/"EJB Container" ya que permite ajustar diversos parámetros del EJB según sea requerido.

Sin duda alguna esta parte del EJB seguirá cobrando mayor importancia conforme vayan surgiendo versiones futuras de "Enterprise Java Beans"; los primeros diseños de EJB's colocaban información mínima en este archivo, sin embargo, hoy en día no sólo ha incrementado el nivel de información colocada en este archivo, sino que los diversos Application Servers/"EJB Containers" han agregado otros archivos de configuración aledaños.

Algunos de estos archivos son utilizados para alterar el nombre JNDI otorgado al EJB, configuraciones especificas como "Caches" o "Pooling" del Application Server/"EJB Container", Mapeo Objeto/Relacional y otras funcionalidades más. En la siguiente seccion de este curso se hace amplio uso de los "Deployment Descriptors" adicionales empleados en diversos Application Servers mediante el uso de la otra clase de "Entity EJB's" sub-clasificado CMP ("Container Managed Persistence").

Finalmente, antes de cambiar del tema de Deployment Descriptors, vale mencionar que existen algunas herramientas como XDoclet basadas en código abierto que permiten colocar anotaciones -- meta-datos -- dentro de las estructuras del EJB para agilizar la creación de Deployment Descriptors. Esta misma funcionalidad de anotaciones ha pasado a formar parte de Java 5 / JDK 1.5 y ejercerá su respectiva influencia en las nuevas versiones J2EE-EJB 3.0 .

Terminos Legales de Contenido ©2000-2011 Osmosis Latina

Diseñado bajo estándares : XHTML   CSS  

webmaster@osmosislatina.com