¿Qué es el API JDBC?
El API JDBC está definido por el JSR 56 (Java Specification Request). En este JSR, Sun Microsystems junto con otros miembros del JCP (Java Community Process) han definido la interfaz que permite al desarrollador de aplicaciones Java interactuar con una gran variedad de bases de datos relacionales, y por otro lado, la interfaz que deben respetar los distintos desarrolladores de manejadores JDBC. Un manejador es un driver que traduce los comandos estándar del API JDBC al formato propietario de una base de datos.
Describa brevemente 2 puentes JDBC para conexión de bases de datos Java
Puente 1:
Los controladores de este tipo utilizan el sistema de pasarela o puente, como por ejemplo 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 4:
Los controladores o drivers 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. 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.
Interface Statement
Esta interfaz permite enviar instrucciones SQL a la base de datos. Podemos obtener un objeto que implemente esta interfaz a partir del método Statement createStatement().
Para enviar una consulta tipo SELECT se emplea el método executeQuery(String sql). Este método devuelve un objeto tipo ResultSet. Para enviar una instrucción tipo DELETE, UPDATE, INSERT o una instrucción DDL (Data Definition Language) se emplea executeUpdate(String sql). Mediante el método execute(String sql) podemos ejecutar cualquiera de los comandos anteriores.
¿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 en 1997 y poco a poco se han convertido 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).
Características de los Servlets
Las características que hacen que los servlets sean muy convenientes son:
- Son 100% puro Java, lo que los hace 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.
¿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 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 los JSP tienen las ventajas de un servlet.
¿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 threads, 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 permite ubicarlas más fácilmente que a los servlets.
- Las páginas JSP son similares a las de HTML, por lo tanto, son más compatibles con las herramientas de desarrollo Web (Dreamweaver, FrontPage, etc.).