Introducción a las aplicaciones Web con Java

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

Se debe tener claro los siguientes puntos:

  • Un web site es una colecciones de recursos estáticos como páginas HTML, imágenes
  • Una aplicación web es un web site con recursos dinámicos
  • Una aplicación web ejecuta programas en el lado del servidor y para ello tiene diferentes tecnologías disponibles

Como hemos visto, hay fundamentalmente dos tipos de clientes en la arquitectura J2EE: clientes Web y clientes de aplicación. Los clientes de aplicación se remontan a la arquitectura cliente-servidor tradicional en la que los clientes dirigen la interacción del usuario (normalmente vía GUI), así como la mayor parte de la lógica de aplicación (incluido el acceso a bases de datos). Por este motivo, los clientes de aplicación se conocen también como clientes robustos. Los clientes robustos procesan la lógica de aplicación de forma local. En una arquitectura multi-capa, los clientes de aplicación pueden delegar parte de la lógica de aplicación y acceso a bases de datos en los componentes de la capa media (como Enterprise JavaBeans). A pesar de esta distribución de la lógica de aplicación en los componentes de la capa media, los clientes de aplicación autónomos se mantienen robustos y requieren instalación en cada instalación de usuario.

Con la llegada de Internet, los clientes Web sustituyeron a muchos clientes de aplicación autónomos. El principal motor de este cambio es la naturaleza de los clientes Web. En las arquitecturas basadas en clientes Web, la capa de interacción con el usuario esta separada de la capa de cliente tradicional. Los navegadores Web gestionan la interacción de usuario pero dejan el resto a las aplicaciones del lado servidor, incluido la lógica para controlar la interfaz de usuario, la interacción con los componentes de la capa media y el acceso a las bases de datos. Para un usuario final, el navegador es el cliente para todas las aplicaciones de base Web.

Puesto que este tipo de cliente de objetivo general no impone ningún requisito especial (aparte del acceso a la red) en la instalación cliente, los clientes Web también son denominados clientes infradotados.

Los siguientes rasgos caracterizan a los clientes Web habituales:

  • Un navegador Web o aplicación similar gestiona la interacción de usuario; esta es la capa cliente.
  • HTML (con JavaScript y/o DHTML) o XML (XSLT) es utilizado para crear la interfaz de usuario.
  • HTTP(S) es el protocolo de intercambio de información utilizado por clientes y aplicaciones. Los programas de aplicación en el lado servidor ejecutan la lógica de aplicación en nombre de los clientes navegador.

La arquitectura J2EE ofrece un modelo de programación flexible y rico en funciones para construir aplicaciones Web dinámicas. Como hemos visto, la arquitectura J2EE proporciona contenedores Web, el Java Servlet API y Javaserver Pages API para la construcción y gestión de las aplicaciones Web. El contenedor Web ofrece el entorno basico de periodo de ejecución y un marco para proporcionar apoyo de periodo de ejecución para las aplicaciones Web. El servlet Java y las tecnologías JSP forman el material central para el desarrollo de las aplicaciones Web.

banner-java-basico-3

Taller de Desarrollo con Javascript

Regístrate en nuestra plataforma en linea para tener acceso completo y gratuito del taller

Registrarme

Taller de desarrollo de Pokedex con Android Studio

Regístrate en nuestra plataforma en linea para tener acceso completo y gratuito del taller

Registrarme