Saltar la navegación

4.- Estructura y despliegue de una aplicación web.

Caso práctico

Una vez la empresa BK programación dispone de un servidor de aplicaciones, Ada considera necesario formar al personal acerca de cómo desplegar aplicaciones, especificar la estructura a seguir, etc.; para lo cual ha indicado a Juan que documente en la wiki un punto en donde se explique cada uno de estos pasos.

Ilustración de Aplicaciones Web 3.0
Chris P Jobling (CC BY-SA)

Una aplicación web está compuesta de una serie de servlets, páginas JSP, ficheros HTML, ficheros de imágenes, ficheros de sonidos, texto, clases, etc.; de forma que todos estos recursos se pueden empaquetar y ejecutar en varios contenedores distintos.

Un servlet es una aplicación java encargada de realizar un servicio específico dentro de un servidor web. La especificación Servlet 2.2 define la estructura de directorios para los ficheros de una aplicación web. El directorio raíz debería tener el nombre de la aplicación y define la raíz de documentos para la aplicación web. Todos los ficheros debajo de esta raíz pueden servirse al cliente excepto aquellos ficheros que están bajo los directorios especiales META-INF y WEB-INF en el directorio raíz. Todos los ficheros privados, al igual que los ficheros .class de los servlets, deberían almacenarse bajo el directorio WEB-INF.

Durante la etapa de desarrollo de una aplicación web se emplea la estructura de directorios, a pesar de que luego en la etapa de producción, toda la estructura de la aplicación se empaqueta en un archivo .war.

El código necesario para ejecutar correctamente una aplicación web se encuentra distribuido en una estructura de directorios, agrupándose ficheros según su funcionalidad. Un ejemplo de la estructura de carpetas de una aplicación web puede ser el siguiente:

/index.jsp
/WebContent/jsp/welcome.jsp
/WebContent/css/estilo.css
/WebContent/js/utils.js
/WebContent/img/welcome.jpg
/WEB-INF/web.xml
/WEB-INF/struts-config.xml
/WEB-INF/lib/struts.jar
/WEB-INF/src/com/empresa/proyecto/action/welcomeAction.java
/WEB-INF/classess/com/empresa/proyecto/action/welcomeAction.class 

De forma genérica podríamos decir que una aplicación web se estructura en tres capas:

  1. Navegador web.
  2. Tecnología web dinámica (PHP, Java Servlets, ASP, etc.)
  3. Base de datos encargada de almacenar de forma permanente y actualizada la información que la aplicación web necesita.