Inicio » Informática profesional. » Programación » Curso de J2EE » 2 - Estructura y despliegue de aplicaciones web

Curso de J2EE

2 - Estructura y despliegue de aplicaciones web


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de J2EE y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Aplicaciones web

Una APLICACIÓN WEB consiste en un conjunto de servlets, páginas jsp, ficheros html, clases Java de apoyo empaquetadas o no en ficheros jar y otro tipo de recursos tales como ficheros de imágenes, de sonidos, de texto, etc.

Una aplicación web puede existir de dos modos:

  • Mediante un fichero de extensión war (Web Application Resource, a veces también se le suele llamar Web ARchive) que engloba a todo su contenido. Se crea mediante la herramienta jar incluido en el J2SE, del mismo modo que un fichero jar. Este empaquetamiento se produce en la etapa de producción, es decir, cuando la aplicación ha sido comprobada y depurada para su comercialización.
  • Mediante una estructura de directorios basada en la especificación definida por Sun para los Servlets. Dentro de esta estructura deben ubicarse de forma adecuada los componentes de la aplicación.

Es el modo de trabajo habitual en la etapa de desarrollo de la aplicación, es decir, cuando se realizan pruebas y modificaciones constantes en sus componentes.

Con estos modos de existencia se persigue que la misma aplicación web pueda ser deplegada en diferentes servidores web manteniendo su funcionalidad y sin ninguna modificación de código.

A partir de la especificación 2.2 de los servlets, todos los servidores compatibles con la misma deben aceptar para el despliegue de aplicaciones web, su fichero war asociado, que se ubicará en el directorio del servidor que su fabricante indique.

A partir de ese momento, y sin hacer nada más, la aplicación web estará disponible para todo el mundo.

CONCLUSIÓN:

Modo de trabajo habitual en las aplicaciones web. De divide en dos fases:

  • Etapa de desarrollo: su usa una estructura de directorios. Se preven constantes cambios en los componentes de la aplicación
  • Etapa de producción: se usa un fichero war. Los objetivos de la aplicación se han logrado y no se preven modificaciones en sus componentes. Todos los recursos de la aplicación se empaquetan en un war para que pueda ser desplegada en cualquier tipo de servidor J2EE compatible con la especificación.

Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de J2EE y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Despliegue mediante war

Para ilustrar el proceso de despliegue de una aplicación web, se va a suponer que se han cumplido las dos etapas mencionadas anteriormente, se dispone de un fichero war de nombre Prueba.war que engloba todos sus componentes y que se le ha hecho llegar al administrador del servidor J2EE en el que se va a desplegar.

Los componentes de la aplicación serán:

  • Dos servlets: ServletPrueba.java y ServletEnlace.java
  • Un fichero html y una imagen: FormularioPrueba.html y tomcat.gif
  • Un fichero xml: web.xml

¿Cuál es el siguiente paso?

El administrador asignará a la aplicación un context path o ruta de contexto coincidente con el nombre del fichero war, que indica el URL mediante el que cualquier cliente puede acceder a la misma. Cada aplicación web estará asociada a un contexto y todos sus componentes existirán en relación a ese contexto

En este caso, el contexto será /Prueba. El contexto debe empezar por /. Esta barra significa directorio raíz del servidor a nivel de aplicaciones web desplegadas en él. Cada servidor tiene el suyo propio:

  • En el caso de Tomcat es tomcat_home\webapps
  • En el caso de JBoss versiones tipo 3 y 4 es jboss_home\server\default\deploy. El servidor de JBoss se levanta ejecutando jboss_home\bin\run.bat. Para tumbarlo,  jboss_home\bin\shutdown.bat o se cierra la sesión del DOS asociado al startup del server.

Instalarlo es sencillo: se va a www.jboss.org,  enlace "Download" de la fila JBoss AS. Las versiones 3.X integran como contenedor web a Jetty (es software desarrollado por la gente de Jboss); las 4.X, integran Tomcat como contenedor web. Para el curso descargar la versión 4.0.5, pulsando sobre el botón Download. Lo que se descarga en un .zip que debe descomprimirse. Hecho esto, ya está instalado.

Para que el server arranque correctamente, deben agregarse las siguientes variables de entorno de usuario:

JAVA_HOME: directorio de instalación del JDK

JBOSS_HOME: directorio de instalación del servidor

La asignación de ruta de contexto comentada anteriormente se hace de modo automático, sin más que colgar el fichero war del raíz del servidor.

Si se utiliza Tomcat, el administrador ubicará Prueba.war colgando de tomcat_home\webapps. Hecho esto, el despliegue se considera finalizado. A continuación se levanta Tomcat y se creará la estructura de directorios siguiente:

Esta configuración de directorios post-despliegue se debe la estructura de directorios conforme a especificación en que se basan todos las aplicaciones web (se estudiará en el siguiente apartado). Además de los directorios de arriba aparecerán

  • META-INF\MANIFEST.MF que contiene información sobre la versión del JDK con el que se está trabajando
  • Prueba.jcp asociado al proyecto de trabajo con JCreator.

Los importantes no son éstos sino los del gráfico. El fichero Prueba.jcp se utilizará para poner a disposición del programador el código de todos los componentes de la aplicación en JCreator y, así, poder estudiarlo y modificarlo convenientemente. Para ello, siendo JavaServidor el espacio de trabajo actual

  • Menú Project/Insert Project into Workspace y se selecciona el fichero jcp correspondiente a la aplicación desplegada. En este caso, tomcat_home\webapps\Prueba\Prueba.jcp

Desplegada la aplicación y levantado el servidor, un cliente accederá al fichero index (htm, html o jsp) de la misma, mediante http://localhost:8080/Prueba

NOTA IMPORTANTE: para que los alumnos puedan actuar como administradores y usuarios de la aplicación, se  suministra Prueba.war en http://teleformacion.fer.es/general/prt/c/j2ee/2/Prueba.war con el fin de que se despliegue en Tomcat y en JBoss.

Picar con el derecho sobre el enlace y “Guardar como” si hay algún problema para descargar el war pulsando directamente sobre el enlace anterior.

El fichero war deberá situarse colgando de

  • tomcat_home\webapps si se trabaja con Tomcat
  • jboss_home\server\default\deploy si se hace con JBoss (debe tenerse libre el puerto 8080 ya que se ejecuta a través de este puerto)

A continuación, levantar el servidor.

Finalmente se accederá al index de la aplicación mediante http://localhost:8080/Prueba tanto si se trabaja con Tomcat como si se trabaja con JBoss.

Este será el modo en que se proporcionarán las aplicaciones de ejemplo: mediante un enlace que permite descargar el war de la aplicación. El alumno deberá desplegarlo en el servidor de trabajo y posteriormente acceder a su index mediante http://localhost:8080/nombreDelWar

Para acceder al código de sus componentes se hará uso del fichero jcp contenido en el directorio raíz de la aplicación tal y como se ha explicado anteriormente.

Repetir el proceso de despliegue con Encuesta.war. Para ello, tumbar Tomcat, ubicar Encuesta.war en tomcat_home\webapps y volver a levantar Tomcat. El war se descarga desdehttp://teleformacion.fer.es/general/prt/c/j2ee/2/Encuesta.war.

Se accederá al index de la aplicación mediante http://localhost:8080/Encuesta

Hacer lo mismo con jChartsServletExamples.war. Se encuentra en

http://teleformacion.fer.es/general/prt/c/j2ee/2/jChartsServletExamples.war. Se trata de una aplicación web capaz de generar diversos tipos de gráficos con datos procedentes de un servlet. Se accederá la index mediante  http://localhost:8080/jChartsServletExamples


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de J2EE y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Si desea obtener un acceso sin restricciones a los contenidos del curso de J2EE y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.