2011-10-21 15 views

Respuesta

7

El uso de EAR o WAR depende del servidor que desea implementar, su aplicación y sus preferencias personales. Desde Java EE6 puede empaquetar sus EJB junto con otros servlets, jsps, etc. en el archivo WAR (termina con la aplicación web que puede implementar solo en el servidor compatible java ee 6). Si empaqueta su aplicación de la manera anterior con ejbs en un paquete separado y war por separado, puede usar el servidor java ee 5 si no ha utilizado otras funciones de java ee6 dentro de su aplicación, puede separar las implementaciones de sus EJB y WAR tener una clara separación de su capa de negocios (EJB) y su vista (Servlets, JSP, etc.).

8

El uso de un EAR permite una separación limpia entre el negocio (por lo general sin estado EJB granos que proporcionan servicios de back-end/relacionados con DB-y pueden en principio ser utilizados por los clientes no web) y de extremo frontal (XHTML archivos, JSF respaldo de frijoles, etc.).

normalmente seguir a la convención a continuación, para un proyecto determinado, por ejemplo "foo":

  • foo-ejb.jar tiene los beans EJB
  • foo-client.jar define el interfaz de los beans EJB (' cliente 'puede ser un término equivocado,' foo-if.jar 'o' foo-api.jar' pueden ser mejores nombres)
  • foo-war.war tiene los recursos web

Edificio foo-war.war sólo requiere foo-client.jar

Edificio foo-ejb.jar sólo requiere foo-client.jar.

La estructura de la EAR es:

foo.ear 
| 
|-- foo-war.war 
| 
|-- foo-ejb.jar 
| 
\-- lib 
     |---- foo-client.jar 
     | 
     \---- (other common jars) 

Hay quizá una manera de tener una separación de manera similar limpia cuando el código se implementa como una guerrapero lo anterior es lo que estoy utilizando y parece que funciona para mí (estoy abierto a sugerencias por supuesto).

1

La plataforma Java EE utiliza un modelo distribuido de aplicaciones de varios niveles para aplicaciones empresariales. La lógica de la aplicación se divide en componentes según la función, y los componentes de la aplicación que componen una aplicación Java EE se instalan en varias máquinas, dependiendo del nivel en el entorno de múltiples capas de Java EE al que pertenece el componente de la aplicación.

La siguiente imagen muestra dos aplicaciones de varios niveles de Java EE divididas en los niveles que se describen en la siguiente lista. Las partes de la aplicación Java EE que se muestran en esta imagen se presentan en Componentes de Java EE.

  • Los componentes de nivel de cliente se ejecutan en la máquina del cliente.

  • Los componentes de nivel web se ejecutan en el servidor Java EE.

  • Los componentes de nivel empresarial se ejecutan en el servidor Java EE.

  • El software del sistema de información empresarial (EIS) se ejecuta en el servidor EIS
    .

Aunque una aplicación Java EE puede consistir en todos los niveles mostrados en la Figura 1-1, las aplicaciones de varios niveles de Java EE se consideran generalmente ser aplicaciones de tres niveles, ya que están distribuidos en tres lugares: máquinas cliente, el Java Máquina de servidor EE y la base de datos o máquinas heredadas en el back-end. Las aplicaciones de tres niveles que se ejecutan de esta manera amplían el modelo estándar de cliente y servidor de dos niveles al colocar un servidor de aplicaciones multiproceso entre la aplicación cliente y el almacenamiento de fondo.

Multitiered Applications

Así que por lo general queremos tener 2 o 3 capas separadas:

-auriculoterapia (E mpresa Aplicación AR cebolleta)

-EJB (E mpresaJ ava B eans)

-Guerra (W ebAR cebolleta)

ya veces APP (J avaP ersistance Un PI)

espero que encuentre útil, Gracias.

Cuestiones relacionadas