Top Banner
Aplicaciones JEE 2008-2009 1 DASDI
39

03. Empaquetado de Aplicaciones JEE

Oct 22, 2014

Download

Documents

wilfredosystem
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 03. Empaquetado de Aplicaciones JEE

Aplicaciones JEE

2008-2009 1DASDI

Page 2: 03. Empaquetado de Aplicaciones JEE

Repasamos …

� Tres tipos de aplicaciones

� Aplicaciones Web Java� Aplicaciones Web Java

� Objetos distribuidos EJBs

� Aplicaciones Empresariales

2008-2009 2DASDI

Page 3: 03. Empaquetado de Aplicaciones JEE

Plataforma J2EE

2008-2009 DASDI 3

J2EE

Page 4: 03. Empaquetado de Aplicaciones JEE

Clientes

2008-2009 DASDI 4

Page 5: 03. Empaquetado de Aplicaciones JEE

Aplicaciones Web JavaAplicaciones Web Java

2008-2009 5DASDI

Page 6: 03. Empaquetado de Aplicaciones JEE

Aplicación Web Java

�Colección de recursos: � Jsps

� Servlets

Ficheros Html, Imagenes� Ficheros Html, Imagenes

� Librerías (jars), etc…

� Ubicados en un URI específico

�Resuelven una funcionalidad

� Interfaz de usuario Web

http://www.dasdi.uniovi.es/calculadora

2008-2009 6DASDI

Page 7: 03. Empaquetado de Aplicaciones JEE

Aplicaciones Web J2EE� Organización: estructura jerárquica de directorios� dos partes

� Un árbol de directorios privado: WEB-INF� contiene los recursos que no son descargables para el cliente

� Un árbol de directorios público

aplicación\index.htmllogin.jspimages\ *.gifdoc\ *.pdfMETA-INF\MANIFEST.MFWEBWEB--INFINF\\web.xml � Deployment Descriptorclasses\ *.classlib\ *.jar

2008-2009 7DASDI

Page 8: 03. Empaquetado de Aplicaciones JEE

Archivos WAR

�Web Application Archive

� Permiten empaquetar en una sola unidad aplicaciones webweb java completascompletas

� Se despliega en un servidor de aplicaciones � contenedor Web

� Hacer un “deploy” al servidor

� El servidor “desmonta” el war y coloca cada cosa donde lo necesita

� Cada servidor a su manera2008-2009 8DASDI

Page 9: 03. Empaquetado de Aplicaciones JEE

Archivos WAR

� Son una extensión del archivo JAR

� Se introdujeron en la especificación 2.2 de los servlets.

Multiplataforma� Multiplataforma

� MultiVendor

root\META-INF\ MANIFEST.MF*.*

Estructura de un JAR2008-2009 9DASDI

Page 10: 03. Empaquetado de Aplicaciones JEE

Archivos WAR: Ventajas

� Simplifican el despliegue de aplicaciones web.� Facilidad de instalación

� Copiar fichero en el servidor

� Uno para cada servidor si es un cluster.

� Seguridad� No permite el acceso entre aplicaciones web distintas (aunque se ejecuten en el mismo servidor)

2008-2009 10DASDI

Page 11: 03. Empaquetado de Aplicaciones JEE

Ejemplo de Estructura

JSP pages, HTML documents, image files

JSP pages, HTML documents, image files

app.war

Contentdirectories

beans

WEB-INF

classes

Packagedirectories

lib

web.xml

Class files

JAR files

Class files

tlds TLD files

2008-2009 11DASDI

Page 12: 03. Empaquetado de Aplicaciones JEE

Estructura Ejemplo

faq.warindex.html

WEB-INF

classes lib tlds

delete.jspadd.jsp

admin

list.jsp

show.jsp

faqServlet.class

psql.jarfaqtags.tld

web.xml

2008-2009 12DASDI

Page 13: 03. Empaquetado de Aplicaciones JEE

Descriptor de Despliegue: web.xml

� WEB-INF/web.xml

� Documento XML

<?xml version=”1.0” encoding=”ISO-8859-1” ?><DOCTYPE web- app PUBLIC

� En él se dan de alta Servlets, JSPs, TLDs, Filtros, etc… � Se informa al servidor de como es la aplicación

<DOCTYPE web- app PUBLIC”-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN” ”http://java.sun.com/j2ee/dtds/web-app_2_2.dtd”>

<web-app>

. . .

</web-app>

2008-2009 13DASDI

Page 14: 03. Empaquetado de Aplicaciones JEE

Ejemplo de Web.xml

web.xml tiene muchas opciones de configuración, echa un vistazo a la especificación

2008-2009 14DASDI

Page 15: 03. Empaquetado de Aplicaciones JEE

Creación manual de .WAR

2008-2009 15DASDI

Page 16: 03. Empaquetado de Aplicaciones JEE

Empaquetado de Empaquetado de Enterprise JavaBeans

2008-2009 16DASDI

Page 17: 03. Empaquetado de Aplicaciones JEE

EJBs

� Los EJBs se agrupan en paquetes para poder ser distribuidos.

� En un solo paquete se pueden dar de alta varios EJBs de diferentes tipos:

Sesión, Entidad, MDB� Sesión, Entidad, MDB

� El módulo o paquete de distribución es un archivo JAR con una determinada estructura.

2008-2009 17DASDI

Page 18: 03. Empaquetado de Aplicaciones JEE

Archivo EJB-JAR

� Un EJB-JAR es la manera en que son distribuidos desarrollos EJB's� WAR modulariza aplicaciones con JSP's/ServletsJSP's/Servlets

� EJB-JAR modulariza aplicaciones con EJB's

� Facilitan el despliegue de los EJBs en cualquier servidor de aplicaciones J2EE compatible

2008-2009 18DASDI

Page 19: 03. Empaquetado de Aplicaciones JEE

Estructura EJB-JAR

/*.class

Bajo este directorio base se encuentran las diversas clases que conforman a un EJB

/META-INF/ejbejb--jar.xmljar.xml

Descriptor de despliegue

/META-INF/*

Otros archivos de configuración requeridos por el contenedor de EJBs� Nombre y formato particular a cada vendor

� orion-jar.xml, jboss.xml, web-sphere.xml, etc2008-2009 19DASDI

Page 20: 03. Empaquetado de Aplicaciones JEE

Ejemplo estructura EJB-JAR

2008-2009 20DASDI

Page 21: 03. Empaquetado de Aplicaciones JEE

ejb-jar.xml Descriptor de Despliegue

� META-INF/ejb-jar.xml � Documento XML� En él se dan de alta y declaran

� EJBs� Parámetros del contexto� Relaciones� Políticas transaccionales� Políticas transaccionales� etc

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ejb-ar PUBLIC

"-//Sun Microsystems, Incprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ ejb-jar_2_0.dtd">

<ejb-jar >. . .

</ejb-jar>

2008-2009 21DASDI

Page 22: 03. Empaquetado de Aplicaciones JEE

Ejemplo ejb-jar.xml

2008-2009 22DASDI

Page 23: 03. Empaquetado de Aplicaciones JEE

Aplicaciones Aplicaciones Empresariales Java

2008-2009 23DASDI

Page 24: 03. Empaquetado de Aplicaciones JEE

Aplicación empresarial JEE

Aplicación empresarial JEE=

Aplicación/es web java empaquetadas en WAR++

Objetos distribuidos EJB empaquetados en JAR

= Archivo EAR.� Soluciona problemas relativos al ClassLoader del sistema

2008-2009 24DASDI

Page 25: 03. Empaquetado de Aplicaciones JEE

Estructura del Enterprise Application Archive

/*.war

Archivos WAR.

/*.jar

Archivos EJB-JAR (jar).Archivos EJB-JAR (jar).

/META-INF/application.xmlapplication.xml

Descriptor de despliegue del módulo EAR.

2008-2009 25DASDI

Page 26: 03. Empaquetado de Aplicaciones JEE

META-INF/application.xmlDescriptor de Despliegue

� En él se dan de alta y declaran� Nombre y descripción de la aplicación que se despliega� Los diferentes módulos web y EJB que forman la aplicación.

<?xml version="1.0" ?><!DOCTYPE application PUBLIC

2008-2009 26DASDI

"-//Sun Microsystems, Inc. //DTD J2EE Application 1.2 //EN""http://java.sun.com/j2ee/dtds/ application_1_2.dtd">

<application><display-name>Piloto curso Web. Seresco.</display-n ame><description>Prácticas del curso de desarrollo web</description><module>

<web><web-uri>appblank.war</web-uri><context-root>/appblank</context-root>

</web></module>

</application>

Page 27: 03. Empaquetado de Aplicaciones JEE

Estructura application.xml

2008-2009 27DASDI

Page 28: 03. Empaquetado de Aplicaciones JEE

Referencias

• Libros� Web Development with JavaServer Pages by Duane Fields and Mark Kolb (Manning)

� Core Servlets and JavaServer Pages by Marty Hall (Prentice-Hall)Hall (Prentice-Hall)

� Java Server Programming J2EE Edition (Wrox) Books

� URLs� Servlet specification available at

http://java.sun.com/products/servlet/download.html

� www.javasoft.com

� www.theserverside.com

2008-2009 28DASDI

Page 29: 03. Empaquetado de Aplicaciones JEE

Taller práctico …Construcción “a mano” de mi primera aplicación de mi primera aplicación Web

2008-2009 29DASDI

Page 30: 03. Empaquetado de Aplicaciones JEE

Paso a paso …

� El OC4J sólo admite el despliegue de aplicaciones J2ee completas, es decir, archivos EAR.

� Tenemos que construir nuestro propio archivo EAR conteniendo un solo archivo WAR con una EAR conteniendo un solo archivo WAR con una página HTML estática.

� Primero entonces, vamos a “montar” nuestra aplicación Web …

2008-2009 30DASDI

Page 31: 03. Empaquetado de Aplicaciones JEE

Paso a paso …Mi primera aplicación Web

� Como mínimo, vamos a tener que crear una página estática (index.html) y un descriptor de despliegue web.xml.

� Creamos una carpeta temporal TRABAJO colgando de la carpeta PROYECTOScolgando de la carpeta PROYECTOS

� Dentro de trabajo creamos una carpeta WEB-INF.

� Ahora, colgando de trabajo y con el bloc de notas creamos el archivo index.html con el clásico “Hola Mundo!”.

� Y dentro de WEB-INF, creamos el archivo web.xml con el siguiente contenido …

2008-2009 31DASDI

Page 32: 03. Empaquetado de Aplicaciones JEE

Paso a paso …Web.xml básico

� Contenido del Web.xml básico:<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app><web-app>

<display-namePrototipo Curso Web. Seresco.</display-name>

<description>

Prototipo desarrollado para el curso sobre desarrollo web para Seresco.</description>

<!-- Página de entrada por defecto -->

<welcome-file-list>

<welcome-file>index.html</welcome-file>

</welcome-file-list>

</web-app>

2008-2009 32DASDI

Page 33: 03. Empaquetado de Aplicaciones JEE

Paso a paso …Estructura del WAR

� Tenemos ya la estructura básica del archivo WAR:

trabajo

WEB-INF

web.xml

index.html

2008-2009 33DASDI

Page 34: 03. Empaquetado de Aplicaciones JEE

Paso a paso …Creación del WAR

� Abrimos una ventana de comandos mediante setenv.bat

� Nos colocamos DENTRO del directorio trabajo

� Creamos un archivo jar mediante la herramienta jardel jdk y lo llamamos trabajo.wardel jdk y lo llamamos trabajo.war

jar cvf trabajo.war *� Ya tenemos el archivo war creado. Podemos

comprobar que es un zip común abriéndolo con el Winrar. ¿Lo desplegamos ya?

� No podemos: El OC4J sólo admite despliegue de módulos EAR.

2008-2009 34DASDI

Page 35: 03. Empaquetado de Aplicaciones JEE

Paso a paso …Creación del EAR

� Como mínimo, vamos a tener que crear un descriptor de despliegue application.xml.� Creamos una carpeta temporal TRABAJO-EAR colgando de la carpeta PROYECTOScolgando de la carpeta PROYECTOS

� Movemos dentro el archivo trabajo.war

� Dentro de trabajo creamos una carpeta META-INF.

� Y dentro de META-INF, creamos el archivo application.xml con el siguiente contenido …

2008-2009 35DASDI

Page 36: 03. Empaquetado de Aplicaciones JEE

Paso a paso …application.xml básico

� Contenido del application.xml básico:<?xml version="1.0" ?>

<!DOCTYPE application PUBLIC

"-//Sun Microsystems, Inc. //DTD J2EE Application 1.2//EN"

"http://java.sun.com/j2ee/dtds/application_1_2.dtd">

<application><application>

<display-name>Piloto curso Web. Seresco.</display-name>

<description>Prácticas del curso de desarrollo web</description>

<module>

<web>

<web-uri>trabajo.war</web-uri>

<context-root>/trabajo</context-root>

</web>

</module>

</application>

2008-2009 36DASDI

Page 37: 03. Empaquetado de Aplicaciones JEE

Paso a paso …Estructura del WAR

� Tenemos ya la estructura básica del archivo WAR:

Trabajo-ear

META-INF

application.xml

trabajo.war

2008-2009 37DASDI

Page 38: 03. Empaquetado de Aplicaciones JEE

Paso a paso …Creación del EAR

� Abrimos una ventana de comandos mediante setenv.bat� Nos colocamos DENTRO del directorio trabajo-ear� Creamos un archivo jar mediante la herramienta jar del jdk y

lo llamamos trabajo.ear� jar cvf trabajo.ear *� Ya tenemos el archivo ear creado. � Para desplegar:� Para desplegar:

� Arrancamos el OC4J� Desplegamos el nuevo EAR por medio de la herramienta de

administración del OC4J:java -jar %OC4J_HOME%\admin.jar ormi://localhost admin admin -deploy -file trabajo.ear -

deploymentName trabajo

� HAY QUE DAR DE ALTA LA APP WEB EN EL http-web-site.xml

Lo probamos en http://localhost:8888/trabajo

2008-2009 38DASDI

Page 39: 03. Empaquetado de Aplicaciones JEE

Paso a paso …Creación del EAR

2008-2009 39DASDI