Descargar

Aplicaciones empresariales J2EE

Enviado por Pablo Turmero


    edu.red

    Repasamos …

    Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales

    edu.red

    Aplicaciones Web Java

    edu.red

    Introducción Colección de recursos tales como Jsps Servlets Ficheros Html Imagenes Etc… Ubicados en un URI específico

    edu.red

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

    edu.red

    Empaquetado en Archivos WAR

    edu.red

    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

    edu.red

    Archivos WAR Son una extensión del archivo JAR Se introdujeron en la especificación 2.2 de los servlets. Multiplataforma MultiVendor

    edu.red

    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

    edu.red

    Estructura

    edu.red

    Estructura Ejemplo

    edu.red

    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.

    edu.red

    Empaquetado de Enterprise JavaBeans

    edu.red

    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.

    edu.red

    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

    edu.red

    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

    edu.red

    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

    edu.red

    Aplicaciones Empresariales Java

    edu.red

    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

    edu.red

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

    edu.red

    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.

    edu.red

    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

    edu.red

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

    edu.red

    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 …

    edu.red

    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 …

    edu.red

    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>

    edu.red

    Paso a paso …Estructura del WAR Tenemos ya la estructura básica del archivo WAR: trabajo WEB-INF web.xml index.html

    edu.red

    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

    edu.red

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

    edu.red

    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>

    edu.red

    Paso a paso …Estructura del WAR Tenemos ya la estructura básica del archivo WAR: Trabajo-ear META-INF application.xml trabajo.war

    edu.red

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

    edu.red

    Paso a paso …