Está en la página 1de 17

Aplicaciones

J2EE

Repasamos …

¡ Tres tipos de aplicaciones


l Aplicaciones Web Java
l Objetos distribuidos EJBs
l Aplicaciones Empresariales

1
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Aplicaciones Web Java

Introducción

¡ Colección de recursos tales


como
l Jsps
l Servlets
l Ficheros Html
l Imagenes
l Etc…
¡ Ubicados en un URI específico

2
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Aplicaciones Web J2EE
¡ Una aplicación web
l está organizada en una estructura jerárquica de
directorios
¡ dos partes
l Un directorio privado WEB-INF
¡ contiene los recursos que no son descargables para el
cliente
l Un directorio público que contiene los recursos públicos
¡ Ejemplo: miaplicación\
Index.html
login.jsp
images\ logo.gif
doc\ tutorial.pdf
WEB-INF\
web.xml (Deployment Descriptor)
classes\ ServletCompras.class
lib\ cualquierOtraApi.jar
¡ Una aplicación web puede ser empaquetada en un
fichero WAR.

Empaquetado en
Archivos
WAR

3
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Archivos WAR

¡ Web Application Archive


¡ Permiten empaquetar en una sola
unidad aplicaciones web java
completas.
l Servlets y JSPs
l Contenido estático
¡ Html
¡ Imágenes
¡ etc.)
l Otros recursos web

Archivos WAR

¡ Son una extensión del archivo JAR


¡ Se introdujeron en la especificación
2.2 de los servlets.
¡ Multiplataforma
¡ MultiVendor

4
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Ventajas

¡ Simplifican el despliegue de
aplicaciones web.
l Facilidad de instalación
l Un solo fichero para cada servidor en un
cluster.
¡ Seguridad
l No permite el acceso entre aplicaciones
web distintas

Estructura

app.war JSP pages, HTML documents, image files

Content JSP pages, HTML documents, image files


directories

web.xml
WEB-INF

classes Class files

beans
Pac kage
directories Class files

lib JAR files

tlds TLD files

5
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Estructura Ejemplo

index.html faq.war

WEB-INF
web.xml
list.jsp

admin
classes lib tlds

show.jsp

add.jsp delete.jsp
psql.jar
faqServlet.class faqtags.tld

Web.xml
Descriptor de Despliegue
¡ 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”>

¡ En él se dan de alta
l Servlets
l Parámetros del contexto
l TLDs
l Filtros
l Etc.

6
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Empaquetado de
Enterprise JavaBeans

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:
l Sesión
l Entidad
l MSB
¡ El módulo o paquete de distribución es
un archivo JAR con una determinada
estructura.

7
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Archivo EJB-JAR
¡ Un EJB-JAR es la manera en que son
distribuidos desarrollos EJB's
¡ de la misma forma en que los WARS
modularizan el desarrollo de aplicaciones con
JSP's/Servlets, un EJB-JAR lo hace para
desarrollos con EJB's
¡ Facilitan el despliegue de los EJBs en cualquier
servidor de aplicaciones J2EE compatible

Estructura EJB-JAR
/*.class
Bajo este directorio base se encuentran
las diversas clases que conforman a un
EJB
/META-INF/ejb-jar.xml
Descriptor de despliegue
/META-INF/*
Otros archivos de configuración
requeridos por el contenedor de EJBs

8
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
ejb-jar.xml
Descriptor de Despliegue
¡ META-INF/ejb-jar.xml
¡ Documento XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
"http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar >
<description><![CDATA[No Description.]]></description>
<display-name>Generated by XDoclet</display-name>
<enterprise-beans>
<session>…</session>
<entity >…</entity>
<message-driven>…</message-driven>
</enterprise-beans>
….
</ejb-jar>
¡ En él se dan de alta y declaran
l EJBs
l Parámetros del contexto
l Relaciones
l Políticas transaccionales
l etc

Aplicaciones
Empresariales Java

9
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Aplicación empresarial J2EE
Aplicación empresarial J2EE
=
Aplicación/es web java empaquetadas en
WAR
+
Objetos distribuidos EJB empaquetados en
JAR
= Archivo EAR.
¡ Soluciona problemas relativos al
ClassLoader del sistema

Estructura del Enterprise Application


Archive

¡ /*.war
Archivos war.
¡ /*.jar
Archivos (ejb) jar.
¡ /META-INF/application.xml
Descriptor de despliegue del módulo EAR.

10
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
application.xml
Descriptor de Despliegue
¡ META-INF/application.xml
¡ Documento XML
<?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>Prácticas del curso de desarrollo web</description>
<module>
<web>
<web-uri>appblank.war</web-uri>
<context-root>/appblank</context-root>
</web>
</module>
</application>

¡ En él se dan de alta y declaran


l Nombre y descripción de la aplicación que se despliega
l Los diferentes módulos web y EJB que forman la aplicación.

Referencias
• Libros
l Web Development with JavaServer Pages by
Duane Fields and Mark Kolb (Manning)
l Core Servlets and JavaServer Pages by Marty
Hall (Prentice-Hall)
l Java Server Programming J2EE Edition (Wrox)
Books
¡ URLs
l Servlet specification available at
http://java.sun.com/products/servlet/download.html
l www.javasoft.com
l www.theserverside.com

11
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Taller práctico …
Construcción “a mano”
de mi primera aplicación
Web

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
página HTML estática.
¡ Primero entonces, vamos a “montar” nuestra
aplicación Web …

12
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
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.
l Creamos una carpeta temporal TRABAJO
colgando de la carpeta PROYECTOS
l Dentro de trabajo creamos una carpeta WEB-INF.
l Ahora, colgando de trabajo y con el bloc de notas
creamos el archivo index.html con el clásico
“Hola Mundo!”.
l Y dentro de WEB-INF, creamos el archivo
web.xml con el siguiente contenido …

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>
<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>

13
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Paso a paso …
Estructura del WAR

¡ Tenemos ya la estructura básica del archivo


WAR:

trabajo

WEB-INF

web.xml

index.html

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 jar
del 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.

14
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Paso a paso …
Creación del EAR

¡ Como mínimo, vamos a tener que crear


un descriptor de despliegue
application.xml.
l Creamos una carpeta temporal TRABAJO-EAR
colgando de la carpeta PROYECTOS
l Movemos dentro el archivo trabajo.war
l Dentro de trabajo creamos una carpeta META-
INF.
l Y dentro de META-INF, creamos el archivo
application.xml con el siguiente contenido …

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>
<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>

15
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Paso a paso …
Estructura del WAR

¡ Tenemos ya la estructura básica del archivo


WAR:

Trabajo-ear

META-INF

application.xml

trabajo.war

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:
l Arrancamos el OC4J
l 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

16
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Paso a paso …
Creación del EAR

17
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

También podría gustarte