HILOS THREADS y CONECTIVIDAD DE BASE DE DATOS CON JAVA (JDBC)

Aplicaciones Web con tecnología Java

Objetivo: 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 del 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.

Tecnologías para Generar Páginas Dinámicas
¿Qué es un Servlet?

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 en1997 y poco a poco se han convirtiendo en el entorno dominante de la programación Java en servidor.
Los servlets nacen para cubrir las limitaciones de los applets, a saber:
·Limitación al acceso de otro servidor que no sea el mismo en que se aloje el applet.
·Limitación en el acceso a los servicios del servidor
·Limitaciones de seguridad. (ingeniería inversa para retocar el applet, para acceso a la lógica del negocio del sistema en cuestión)

Carácterísticas de los Servlets

Las carácterísticas que hacen que los servlets muy convenientes son:

Son 100% puro Java, lo que los hacen multiplataforma
Es un Lenguaje Orientado a Objetos y por lo tanto poseen todas las carácterí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 Mánager 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.


¿Qué es JSP?


Un JSP, ( del acrónimo en inglés Java Server Pages) es una página Java en Servidor y es una plantilla para una página Web que emplea código Java para generar un documento HTML dinámicamente. Las JSP. Las JSP se ejecutan en un componente del servidor denominado contenedor de JSP, y este las traduce o convierte a servlets de Java equivalentes y por lo tanto, lo que se puede hacer con un JSP, también se puede hacer con un servlet, así que tienen los JSP tienen las ventajas de un servlet a saber

¿JSP o Servlets?


Primeramente mencionaremos las ventajas de un Servlet y JSP sobre los CGI y luego las Ventajas de los JSP sobre los Servlets.

Ventajas de los Servlets y JSP

·Tienen un mejor desempeño y capacidad de adaptación que los CGI, debido a que se conservan en la memoria y manejan múltiples subprocesos.
·No se requiere una configuración especial por parte del cliente.
·Soportan sesiones HTTP, lo que hace posible la programación de aplicaciones.
·Pueden acceder a la tecnología disponible en Java para manejar hilos o treads, sockets o trabajo en red, conectividad con bases de datos y todo esto sin las limitaciones de los applets del cliente.

Ventajas de los JSP

Se compilan automáticamente cuando sea necesario
·Su ubicación en el espacio común de documentos del servidor Web permiten ubicarlas más fácilmente que a los servlets
·Las páginas JSP son similares a las de HTML, por lo tanto son mas compatibles con las herramientas de desarrollo de Web (Dream Weaver, FrontPage, etc.).

LA TECNOLOGÍA JDBC

Esta tecnología nos permite mediante programas de Java o desde una JSP , realizar conexiones a una base de datos y ejecutar sentencias de SQL para hacer consultas sobre ella . Esta tecnología se detalla con profundidad en la dirección web: http://java.Sun.Com/jdbc/.

El API JDBC
El API JDBC es una tecnología estándar creada por Sun y su uso permite al desarrollador de páginas de Java y JSP tener conexión con un motor de base de datos no importando de que tipo sea.
Carácterísticas más importantes de ésta API JDBC son:
·Posibilidad de utilizar el lenguaje SQL ( Structured Query Language )
·Acceso sencillo a todas las funciones de SQL.
·Los resultados devueltos por SQL pueden ser tratados como objetos, de manera tal que, si hay errores puedan ser tratados como excepciones.
El API JDBC de Sun esta inspirado en la filosofía del estándar ODBC (Open Data Base Conectivity) creado por Microsoft. Esta filosofía se basa en crear un estándar para el uso de cualquier base de datos utilizando el lenguaje Java. Es por esto que Sun creo una especie de pasarela o puente entre JDBC y ODBC . Este puente se encarga de realizar la conversión de las llamadas del JDBC a ODBC de forma totalmente transparente para el programador. EL puente JDBC-ODBC no es la solución mas adecuada, ya que hay un proceso de conversión de una API a otra y es motivo de mal rendimiento en una aplicación cuando se hace uso masivo de consultas en una base de datos.