sábado, 20 de noviembre de 2010

Java DataBase Connectivity(JDBC) y ActiveX Data Objects(ADO)

Hoy les mostrare informacion de las 2 tecnologías más importantes de conectividad a la base de datos que son ADO y JDBC.



JDBC
JDBC o Java Data Base ConnectivityFue desarrollado por JavaSoft, una subsidiaria de Sun Microsystems, es la API estándar de acceso a bases de datos con Java. Sun optó por crear una nueva API en lugar de utilizar ODBC, porque esta última presentaba algunos problemas desde ciertas aplicaciones Java. ODBC es una interfaz escrita en lenguaje C, que al no ser un lenguaje portable, hacía que las aplicaciones Java también perdiesen la portabilidad. Además, ODBC ha de instalarse manualmente en cada máquina, mientras que los controladores (drivers) JDBC que están escritos en Java son automáticamente instalables y portables. El nivel de abstracción al que trabaja JDBC es más alto que el de ODBC y, de esta forma, se pueden crear librerías de más alto nivel,
Para trabajar con JDBC es necesario tener controladores que permitan acceder a las distintas bases de datos. Sin embargo, ODBC sigue siendo hoy en día la API más popular para acceso a Bases de Datos, por lo que: Sun se ha visto obligada a diseñar un puente que permite utilizar la API de JDBC en combinación con controladores ODBC.



Aqui le muestro un ejemplo de programacion con Java utilizando JDBC para consula de base de datos:

Primer programa: consultando la base de datos de manera simple
01import java.sql.*;
02public class Programa {
03public static void main(String args[]){
04try {
05//Cargar clase de controlador de base de datos
06Class.forName("com.mysql.jdbc.Driver");
07//Crear el objeto de conexion a la base de datos
08Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/ejemplo?user=root&password=");
09//Crear objeto Statement para realizar queries a la base de datos
10Statement instruccion = conexion.createStatement();
11//Un objeto ResultSet, almacena los datos de resultados de una consulta
12ResultSet tabla = instruccion.executeQuery("SELECT cod , nombre FROM datos");
13System.out.println("Codigo\tNombre");
14while(tabla.next())
15System.out.println(tabla.getInt(1)+"\t"+tabla.getString(2));
16}
17catch(ClassNotFoundException e){ System.out.println(e); }
18catch(SQLException e){ System.out.println(e); }
19catch(Exception e){ System.out.println(e); }
20}
21}

Por último, hay que destacar también una tecnología llamada Web DB utilizada por algunos servidores de bases de datos, con la cual, un usuario puede solicitar la información que requiera y visualizarla a modo de respuesta en una página Web, que será creada y elaborada por el propio servidor de base de datos.
El proceso que comprende desde la solicitud a la visualización de la información, puede ser representado de la siguiente manera:
En este esquema anterior destacan:

  •  Navegador (browser): es la aplicación mediante la cual, se tiene acceso libre a los servicios de Internet, y el medio que permite al usuario introducir la solicitud para visualizar la información, empleando el URL para especificar detalladamente el proceso que se desea ejecutar.



  • Interfaz de Web:  aqui proporciona una interfaz para que un programa que se ejecute en el servidor genere como salida el código HTML, en lugar de leer simplemente un archivo estático de texto. Con ésta interfaz se podrán crear las páginas Web de forma dinámica y/o utilizar la implementación de formularios HTML. Esta interfaz permite tecnologías como los CGI’s o aquellas otras que son propias del servidor de base de datos.


  • Agente PL/SQL: es el eslabón final del proceso entre un navegador cliente y el servidor de base de datos. El agente ejecutará una llamada a un procedimiento almacenado en el servidor. Este procedimiento creará una página HTML dinámica como salida, y el agente devolverá dicha salida al cliente a través del navegador empleando de igual manera la Interfaz de Web.


  •  Base de Datos (BD). En ella se mantendrá almacenada la información; se encargará de proporcionar los datos que le hayan solicitado previamente, al momento de la ejecución de un procedimiento por parte del Agente PL/SQL.


Esta herramienta es una muy buena opción para pequeñas o medianas empresas, en las cuales llegaría a resultar muy costoso la implementación de otro tipo de tecnologías más caras y avanzadas.

Esto es todo por ahora espero esto sea de interes para ustedes compañeros, es mucha informacion pero se que es importante y podria servir.


Saludos...!



1 comentario: