Download - Aplicaciones J2EE
![Page 1: Aplicaciones J2EE](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/1.jpg)
AplicacionesJ2EE
![Page 2: Aplicaciones J2EE](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/2.jpg)
Repasamos …
Tres tipos de aplicacionesAplicaciones Web JavaObjetos distribuidos EJBsAplicaciones Empresariales
![Page 3: Aplicaciones J2EE](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/3.jpg)
Aplicaciones Web Java
![Page 4: Aplicaciones J2EE](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/4.jpg)
Introducción
Colección de recursos tales comoJspsServletsFicheros HtmlImagenesEtc…
Ubicados en un URI específico
![Page 5: Aplicaciones J2EE](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/6.jpg)
Empaquetado en Archivos WAR
![Page 7: Aplicaciones J2EE](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/13.jpg)
Empaquetado de Enterprise JavaBeans
![Page 14: Aplicaciones J2EE](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/18.jpg)
Aplicaciones Empresariales Java
![Page 19: Aplicaciones J2EE](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/20.jpg)
Estructura del Enterprise Application Archive
/*.warArchivos war.
/*.jarArchivos (ejb) jar.
/META-INF/application.xmlDescriptor de despliegue del módulo EAR.
![Page 21: Aplicaciones J2EE](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/23.jpg)
Taller práctico …Construcción “a mano” de mi primera aplicación Web
![Page 24: Aplicaciones J2EE](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/568146f2550346895db42636/html5/thumbnails/28.jpg)
Paso a paso …