Está en la página 1de 39

Aplicaciones JEE

2008-2009 DASDI 1

Repasamos

Tres tipos de aplicaciones


Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales

2008-2009

DASDI

Plataforma J2EE

2008-2009

DASDI

Clientes

2008-2009

DASDI

Aplicaciones Web Java

2008-2009

DASDI

Aplicacin Web Java


Coleccin de recursos:
Jsps Servlets Ficheros Html, Imagenes Libreras (jars), etc

Ubicados en un URI especfico


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

Resuelven una funcionalidad Interfaz de usuario Web


2008-2009 DASDI 6

Aplicaciones Web J2EE


Organizacin: estructura jerrquica 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 pblico

2008-2009

aplicacin\ index.html login.jsp images\ *.gif doc\ *.pdf META-INF\MANIFEST.MF WEBWEB -INF\ INF\ web.xml Deployment Descriptor classes\ *.class lib\ *.jar DASDI

Archivos WAR
Web Application Archive
Permiten empaquetar en una sola unidad aplicaciones web java completas 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 manera
2008-2009 DASDI 8

Archivos WAR
Son una extensin del archivo JAR Se introdujeron en la especificacin 2.2 de los servlets. Multiplataforma MultiVendor
root\ META-INF\ MANIFEST.MF *.*

Estructura de un JAR
2008-2009 DASDI 9

Archivos WAR: Ventajas


Simplifican el despliegue de aplicaciones web.
Facilidad de instalacin
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 DASDI 10

Ejemplo de Estructura
app.war
JSP pages, HTML documents, image files

Content directories

JSP pages, HTML documents, image files

WEB-INF

web.xml

classes

Class files

Package directories

beans Class files

lib

JAR files

tlds

TLD files

2008-2009

DASDI

11

Estructura Ejemplo

index.html

faq.war
WEB-INF

list.jsp admin classes show.jsp lib

web.xml

tlds

add.jsp delete.jsp faqServlet.class


2008-2009 DASDI

psql.jar faqtags.tld
12

Descriptor de Despliegue: web.xml


WEB-INF/web.xml Documento XML
<?xml version=1.0 encoding=ISO-8859-1 ?> <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>

En l se dan de alta Servlets, JSPs, TLDs, Filtros, etc


Se informa al servidor de como es la aplicacin
2008-2009 DASDI 13

Ejemplo de Web.xml

2008-2009

web.xml tiene muchas opciones de configuracin, echa un vistazo a la DASDI 14 especificacin

Creacin manual de .WAR

2008-2009

DASDI

15

Empaquetado de Enterprise JavaBeans

2008-2009

DASDI

16

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:
Sesin, Entidad, MDB

El mdulo o paquete de distribucin es un archivo JAR con una determinada estructura.

2008-2009

DASDI

17

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

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


2008-2009 DASDI 18

Estructura EJB-JAR
/*.class

Bajo este directorio base se encuentran las diversas clases que conforman a un EJB
/META-INF/ejb ejb-jar.xml

Descriptor de despliegue
/META-INF/*

Otros archivos de configuracin requeridos por el contenedor de EJBs


Nombre y formato particular a cada vendor orion-jar.xml, jboss.xml, web-sphere.xml, etc
2008-2009 DASDI 19

Ejemplo estructura EJB-JAR

2008-2009

DASDI

20

ejb-jar.xml Descriptor de Despliegue


META-INF/ejb-jar.xml Documento XML En l se dan de alta y declaran
EJBs Parmetros del contexto Relaciones Polticas 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 DASDI 21

Ejemplo ejb-jar.xml

2008-2009

DASDI

22

Aplicaciones Empresariales Java

2008-2009

DASDI

23

Aplicacin empresarial JEE


Aplicacin empresarial JEE =
Aplicacin/es web java empaquetadas en WAR + Objetos distribuidos EJB empaquetados en

JAR = Archivo EAR.

Soluciona problemas relativos al ClassLoader del sistema

2008-2009

DASDI

24

Estructura del Enterprise Application Archive


/*.war Archivos WAR. /*.jar Archivos EJB-JAR (jar). /META-INF/application.xml Descriptor de despliegue del mdulo EAR.

2008-2009

DASDI

25

META-INF/application.xml Descriptor de Despliegue


En l se dan de alta y declaran
Nombre y descripcin de la aplicacin que se despliega Los diferentes mdulos web y EJB que forman la aplicacin.
<?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> <display-name>Piloto curso Web. Seresco.</display-name> <description>Prcticas del curso de desarrollo web</description> <module> <web> <web-uri>appblank.war</web-uri> <context-root>/appblank</context-root> </web> </module> 2008-2009 DASDI </application>

26

Estructura application.xml

2008-2009

DASDI

27

Referencias

Libros
Web Development with JavaServer Pages by Duane Fields and Mark Kolb (Manning) Core Servlets and JavaServer Pages by Marty 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

DASDI

28

Taller prctico Construccin a mano de mi primera aplicacin Web

2008-2009

DASDI

29

Paso a paso
El OC4J slo 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 pgina HTML esttica. Primero entonces, vamos a montar nuestra aplicacin Web

2008-2009

DASDI

30

Paso a paso Mi primera aplicacin Web


Como mnimo, vamos a tener que crear una pgina esttica (index.html) y un descriptor de despliegue web.xml.
Creamos una carpeta temporal TRABAJO colgando 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 clsico Hola Mundo!. Y dentro de WEB-INF, creamos el archivo web.xml con el siguiente contenido

2008-2009

DASDI

31

Paso a paso Web.xml bsico


Contenido del Web.xml bsico:
<?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> <display-namePrototipo Curso Web. Seresco.</display-name> <description> Prototipo desarrollado para el curso sobre desarrollo web para Seresco.</description> <!-- Pgina de entrada por defecto --> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>

2008-2009

DASDI

32

Paso a paso Estructura del WAR


Tenemos ya la estructura bsica del archivo WAR:
trabajo WEB-INF

web.xml index.html

2008-2009

DASDI

33

Paso a paso Creacin del WAR


Abrimos una ventana de comandos mediante setenv.bat Nos colocamos DENTRO del directorio trabajo Creamos un archivo jar mediante la herramienta jar del jdk y lo llamamos trabajo.war

jar cvf trabajo.war *


Ya tenemos el archivo war creado. Podemos comprobar que es un zip comn abrindolo con el Winrar. Lo desplegamos ya? No podemos: El OC4J slo admite despliegue de mdulos EAR.

2008-2009

DASDI

34

Paso a paso Creacin del EAR


Como mnimo, vamos a tener que crear un descriptor de despliegue application.xml.
Creamos una carpeta temporal TRABAJO-EAR colgando de la carpeta PROYECTOS Movemos dentro el archivo trabajo.war Dentro de trabajo creamos una carpeta METAINF. Y dentro de META-INF, creamos el archivo application.xml con el siguiente contenido

2008-2009

DASDI

35

Paso a paso application.xml bsico


Contenido del application.xml bsico:
<?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> <display-name>Piloto curso Web. Seresco.</display-name> <description>Prcticas del curso de desarrollo web</description> <module> <web> <web-uri>trabajo.war</web-uri> <context-root>/trabajo</context-root> </web> </module> </application>
2008-2009 DASDI 36

Paso a paso Estructura del WAR


Tenemos ya la estructura bsica del archivo WAR:
Trabajo-ear META-INF

application.xml trabajo.war

2008-2009

DASDI

37

Paso a paso Creacin 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:
Arrancamos el OC4J Desplegamos el nuevo EAR por medio de la herramienta de administracin 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-website.xml


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

2008-2009

DASDI

38

Paso a paso Creacin del EAR

2008-2009

DASDI

39

También podría gustarte