Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos...

28
Aplicaciones J2EE

Transcript of Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos...

Page 1: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

AplicacionesJ2EE

Page 2: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Repasamos …

Tres tipos de aplicacionesAplicaciones Web JavaObjetos distribuidos EJBsAplicaciones Empresariales

Page 3: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Aplicaciones Web Java

Page 4: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Introducción

Colección de recursos tales comoJspsServletsFicheros HtmlImagenesEtc…

Ubicados en un URI específico

Page 5: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Aplicaciones Web J2EE Una aplicación web

está organizada en una estructura jerárquica de directorios dos partes

Un directorio privado WEB-INF contiene los recursos que no son descargables para el cliente

Un directorio público que contiene los recursos públicos Ejemplo: miaplicación\

Index.htmllogin.jspimages\ logo.gifdoc\ tutorial.pdfWEB-INF\

web.xml (Deployment Descriptor)classes\ ServletCompras.classlib\ cualquierOtraApi.jar

Una aplicación web puede ser empaquetada en un fichero WAR.

Page 6: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Empaquetado en Archivos WAR

Page 7: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Archivos WAR

Web Application Archive Permiten empaquetar en una sola

unidad aplicaciones web java completas. Servlets y JSPs Contenido estático

Html Imágenes etc.)

Otros recursos web

Page 8: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Archivos WAR

Son una extensión del archivo JAR Se introdujeron en la especificación

2.2 de los servlets. Multiplataforma MultiVendor

Page 9: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Ventajas

Simplifican el despliegue de aplicaciones web. Facilidad de instalación Un solo fichero para cada servidor en un

cluster. Seguridad

No permite el acceso entre aplicaciones web distintas

Page 10: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Estructura

beans

WEB-INF

classes

P ackagedirec tories

lib

web.xml

C la ss file s

JA R file s

JS P p a g e s , HT M L d o cu m e n ts , im a g e file s

JS P p a g e s , HT M L d o cu m e n ts , im a g e file s

app.war

C la ss file s

Contentdirec tories

tlds T L D file s

Page 11: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Estructura Ejemplo

WEB-INF

classes lib

faq.war

tlds

delete.jspadd.jsp

index.html

admin

list.jsp

show.jsp

faqServlet.classpsql.jar

faqtags.tld

web.xml

Page 12: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

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 Servlets Parámetros del contexto TLDs Filtros Etc.

Page 13: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Empaquetado de Enterprise JavaBeans

Page 14: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

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 MSB

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

Page 15: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

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

Page 16: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

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

Page 17: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

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

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

Page 18: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Aplicaciones Empresariales Java

Page 19: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

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

Page 20: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Estructura del Enterprise Application Archive

/*.warArchivos war.

/*.jarArchivos (ejb) jar.

/META-INF/application.xmlDescriptor de despliegue del módulo EAR.

Page 21: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

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 Nombre y descripción de la aplicación que se despliega Los diferentes módulos web y EJB que forman la aplicación.

Page 22: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

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

Page 23: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

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

Page 24: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

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

Page 25: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

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.</display-name><description>

Prototipo desarrollado para el curso sobre arquitectura web</description>

<!-- Página de entrada por defecto --> <welcome-file-list>

<welcome-file>index.html</welcome-file> </welcome-file-list></web-app>

Page 26: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Paso a paso …Estructura del WAR

Tenemos ya la estructura básica del archivo WAR:

trabajo

WEB-INF

web.xml

index.html

Page 27: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

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.

Para desplegargo, lo copiamos a la carpeta webapps y rearrancamos Tomcat

Lo probamos yendo a http://localhost:8080/prueba

Page 28: Aplicaciones J2EE. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales.

Paso a paso …