Desarrollo de Aplicaciones Web con Java: Servlets, JDBC y Servidores Web

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,12 KB

Aplicaciones Web con Java

Java comprende un conjunto de tecnologías que han revolucionado el desarrollo de los sistemas informáticos y que pueden ser empleadas en el desarrollo de sistemas de alto rendimiento y complejidad. Un tipo particular de aplicaciones que han tenido un amplio crecimiento son las relacionadas con el manejo de bases de datos y la generación de contenido dinámico para la puesta en marcha de sitios Web. Con la combinación de las herramientas JSP y JDBC se pueden crear para los usuarios de Internet una gran variedad de servicios, como catálogos en línea, portales, tiendas virtuales, herramientas de comercio electrónico y, en general, cualquier sistema que requiera del manejo de la información a través de la Web. Todas estas aplicaciones pueden ser desarrolladas e implementadas con estas tecnologías que son basadas en Java, esto es, son un subconjunto del lenguaje de programación Java, y obtener buenos resultados en el consumo de recursos, tiempos y desarrollo y confiabilidad del producto final.

Servlets: Definición y Características

Los servlets son clases de Java que amplían la funcionalidad de un servidor Web mediante la generación dinámica de páginas Web. Un entorno de ejecución denominado motor de servlets administra la carga y descarga del servlet, y trabaja con el servidor Web HTTP para dirigir las peticiones de los usuarios remotos (clientes) a los servlets y enviar la respuesta a los clientes. Aparecen en 1997 y poco a poco se han convirtiendo en el entorno dominante de la programación Java en servidor.

Características de los Servlets

  • Son 100% puro Java, lo que los hacen multiplataforma.
  • Es un Lenguaje Orientado a Objetos y, por lo tanto, poseen todas las características que se derivan de esto.
  • Puede utilizar todas las tecnologías de Java: clases de almacenamiento, hilos o threads, acceso a bases de datos, flujos de E/S, RMI, acceso a la red, etc.
  • No cargan al servidor con excesivo procesamiento de peticiones debido a que en la primera petición, el servidor Web crea un proceso para el servlet, y en las posteriores peticiones, crea hilos (threads) de ejecución de este proceso.
  • Son mucho más rápidos que los CGI ya que están precompilados y, debido al punto anterior, no se generan procesos independientes cada vez que se solicita una URL (como suele suceder con CGI).
  • Son seguros ya que aplican el Security Manager de Java.
  • La comunicación con otros servlets es muy sencilla.
  • Mediante el manejo de excepciones, los errores pueden manejarse sencillamente durante la ejecución del servlet.

Función de un Servidor Web

Un servidor web es un programa que implementa el protocolo HTTP (HyperText Transfer Protocol). Este protocolo pertenece a la capa de aplicación del modelo OSI y está diseñado para transferir lo que llamamos hipertextos, páginas web o páginas HTML (HyperText Markup Language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de música.

Es un programa que se ejecuta continuamente en un ordenador (también se emplea el término para referirse al ordenador que lo ejecuta), manteniéndose a la espera de peticiones por parte de un cliente (un navegador web) y que responde a estas peticiones adecuadamente, mediante una página web que se exhibirá en el navegador o mostrando el respectivo mensaje si se detectó algún error.

En informática, un servidor es un tipo de software que realiza ciertas tareas en nombre de los usuarios. El término servidor ahora también se utiliza para referirse al ordenador físico en el cual funciona ese software, una máquina cuyo propósito es proveer datos de modo que otras máquinas puedan utilizar esos datos.

Páginas Web Dinámicas

Se conoce con el nombre de página web dinámica a aquella cuyo contenido se genera a partir de lo que un usuario introduce en un formulario web.

El contenido de la página no está incluido en un archivo HTML como en el caso de las páginas web estáticas.

Aplicaciones de las Páginas Web Dinámicas

  • Mostrar el contenido de una base de datos, con base en la información que solicita un usuario a través de un formulario web.
  • Actualizar el contenido de una base de datos.
  • Generar páginas web de contenido estático.
  • Mejorar la interacción entre el usuario y el sitio web.

Interacción de Threads en un Programa en Java

Los hilos de proceso (threads) representan uno de los recursos más importantes de los que dispone un programador para crear aplicaciones complejas donde puede ser conveniente, o incluso necesario, realizar varias tareas de manera simultánea. El mecanismo de hilos de proceso de Java es sencillo, potente y productivo. De hecho, muchos de los estándares de la plataforma Java, como por ejemplo los applets o los servlets, emplean hilos de proceso para llevar cabo algunas tareas en paralelo. Todo esto sucede de forma transparente al programador, pero conviene entender y comprender cómo funciona con el fin de llegar a escribir aplicaciones que crean y usan sus propios hilos de manera explícita.

Flujos en Java

Un flujo es un sistema de comunicación implementado en el paquete java.io cuyo fin es guardar y recuperar la información en cada uno de los diversos dispositivos de almacenamiento.

Controladores JDBC

Los controladores JDBC se clasifican en cuatro tipos o puentes:

Puente 1

Los controladores de este tipo utilizan un sistema de pasarela o puente. Un ejemplo es el JDBC-ODBC. No es la mejor solución porque en muchos casos es necesario instalar un software específico en el cliente, además de ser algo lento en los accesos a la base de datos.

Puente 2

Este tipo de controlador se conoce como API nativas, esto es, el controlador contiene código Java mediante el cual se realizan las llamadas a los métodos nativos de la base de datos en C o C++ que realizan en acceso a la base de datos. Algunas veces es necesario instalar un software cliente para utilizar este tipo de controladores.

Puente 3

Los drivers o controladores JDBC de este tipo se comunican con una aplicación intermedia en el servidor utilizando sockets que trasladan las peticiones del programa cliente a una API específica del controlador. Este tipo de driver tiene la ventaja de no utilizar ningún software en el cliente.

Puente 4

Los controladores o driver de este tipo utilizan protocolos de red que están incluidos en el SGBD (Sistema de Gestión de Bases de Datos) y, por lo tanto, los drivers se comunican de forma directa con la base de datos, utilizando también sockets de Java. Es el mejor de los 4 drivers ya que está escrito por completo en Java. La mayoría de estos controladores son provistos por el fabricante del SGBD.

Entradas relacionadas: