Escuela Profesional De Ingeniería De Sistemas Y Telemática
INTEGRANTES:
- v Marleni CHUQUIZUTA RAMOS
- v Yoseily ALTAMIRANO GUEVARA
DOCENTE:
Marco Aurelio PORRO CHULLI
JDBC
1)
CONTENIDO
·
CAPA DE CLIENTE.- está formada por la
lógica de la aplicación a la que el usuario final accede directamente mediante
una interfaz de usuario. La lógica de la capa de cliente podría incluir
clientes basados en navegadores, componentes de java que se ejecuten en un
equipo de escritorio o clientes móviles de Java TM Plataform, Micro
Edition(plataform J2METM) que se ejecuten en un dispositivo portátil.
·
CAPA DE PRESENTACIÓN.- es la que está formada
por la lógica de la aplicación, que prepara datos para su envío a la capa de
cliente y procesa solicitudes desde la capa de cliente para su envío a la capa
de cliente a la lógica de negocios del servidor. La lógica en la capa de
presentación está formada normalmente por componentes de J2EE como, por
ejemplo, Java Servlet o los componentes de JSP que preparan los datos para
enviarlos en formato HTML o XML, o que reciben solicitudes para procesarlas.
Esta capa también puede incluir un servicio de por tal que proporcione acceso
personalizado y seguro a los servicios de negocio.
·
CAPA DE ACCESO DE
NEGOCIO.- es la que consiste en la lógica que realiza las funciones principales de la
aplicación: procesamiento de datos, implementación de funciones de negocios,
coordinación de varios usuarios y administración de recursos externos como por
ejemplo, base de datos o sistemas heredados. Esta capa suele estar formada por
componentes distribuidos de J2EE como, por ejemplo, los objetos Java, los
componentes EJB o los beans conducidos
mediante mensajes. Pueden montarse componentes de J2EE individuaes para ofrecer
servicios de negocios complejos, como, por ejemplo, un servicio de inventario o
uno de cálcilo de impuestos. Los componentes individuales y los ensamblados de
servicios se pueden encapsular como servicios web que no estén firmemente
acoplados en un modelo de arquitectura orientada a servicios, que se ajuste a
los estándares de la interfaz SOAP (sImple Object Access Protocol). Los
servicios de negocios también se pueden crear como servidores independientes
como, por ejemplo, un servidor de mensajería o un servidor de calendario
empresarial.
·
CAPA DE DATOS.- es la que esta formada por los servicios que
proporcionan los datos persistentes utilizados por la lógica de negocios. Los
datos pueden ser datos de aplicaciones almacenados en un sistema de administración
de base de datos o pueden incluir información de recursos y directorios
almacenada en un almacén de datos de protocolo ligero de acceso a directorios
(LDAP). Los servicios de datos también pueden incluir alimentación de datos de
orígenes externos o datos a los que se puede obtener acceso desde sistemas
informáticos heredados.
CONFIGURACION DE CONEXIÓN BD CON NETBEANS
Lo primero que hay que hacer es instalar
SQL Server y configurarlo para que se pueda acceder de dos formas (con
autenticación SQL Server), esto se pregunta durante la instalación de SQL
Server, posteriormente hay que crear un usuario SQL Server. También debemos
permitir conexiones remotas. Cumpliendo su compromiso continuo con la
interoperabilidad, Microsoft ha lanzado un nuevo controlador de conectividad de
base de datos con Java (JDBC). La descarga de la versión 3.0 del Controlador
JDBC de SQL Server está disponible para todos los usuarios de SQL Server 200,
SQL Server 2000 desde cualquier aplicación Java, servidor de aplicaciones o
subprograma habilitado para Java. Se trata de un controlador JDBC de tipo 4 que
proporciona conectividad a bases de datos mediante las interfaces de
programación de aplicaciones (API) JDBC estándar disponibles en Java Plataform,
Enterprise Edition 5 y ediciones superiores. Esta versión del controlador JDBC
es compatible con JDBC 4.0 y se ejecuta en el kit de desarrollo de Java(JDK)
versión 5.0 o posteriores. Se ha probado con los principales servidores de
aplicaciones, como IBM WebSphere y SAP NetWeaver.
DEFINICION
JDBC (Java DataBase Connectivity) es un API de Java que
permite al programador ejecutar instrucciones en lenguaje estándar de acceso a
Bases de Datos, SQL (Structured Query Language, lenguaje estructurado de
consultas), que es un lenguaje de muy alto nivel que permite crear, examinar,
manipular y gestionar Bases de Datos relacionales. Para que una aplicación
pueda hacer operaciones en una Base de Datos, ha de tener una conexión con
ella, que se establece a través de un driver, que convierte el lenguaje de alto
nivel a sentencias de Base de Datos. Es decir, las tres acciones principales
que realizará JDBC son las de establecer la conexión a una base de datos, ya
sea remota o no; enviar sentencias SQL a esa base de datos y, en tercer lugar,
procesar los resultados obtenidos de la base de datos.
https://www.youtube.com/watch?v=xEOmGzYvsgg
TIPOS
DE JDBC
Una de las decisiones importantes en el
diseño, cuando estamos proyectando una aplicación de bases de datos Java, es
decidir el driver JDBC que permitirá que las clases JDBC se comuniquen con la
base de datos. Los driver JDBC se clasifican en cuatro tipos o niveles:
- Tipo 1: Puente JDBC-ODBC
- Tipo 2: Driver API nativo/parte
Java
- Tipo 3: Driver protocolo de
red/todo Java
- Tipo 4: Driver protocolo
nativo/todo Java
Entender cómo se construyen los drivers y
cuales son sus limitaciones, nos ayudará a decidir qué driver es el más
apropiado para cada aplicación.
Tipo 1: Driver puente JDBC-ODBC
El puente JDBC-ODBC es un driver JDBC del tipo 1 que traduce operaciones JDBC en llamadas a la API ODBC. Estas llamadas son entonces cursadas a la base de datos mediante el driver ODBC apropiado. Esta arquitectura se muestra en la siguiente figura:
El puente se implementa como el paquete sun.jdbc.odbc y
contiene una biblioteca nativa utilizada para acceder a ODBC.
Ventajas
A menudo, el primer contacto con un driver
JDBC es un puente JDBC-ODBC, simplemente porque es el driver que se distribuye
como parte de Java, como el paquete sun.jdbc.odbc.JdbcOdbcDriver.
Además tiene la ventaja de poder trabajar
con una gran cantidad de drivers ODBC. Los desarrolladores suelen utilizar ODBC
para conectar con bases de datos en un entorno distinto de Java. Por tanto, los
drivers de tipo 1 pueden ser útiles para aquellas compañías que ya tienen un
driver ODBC instalado en las máquinas clientes. Se utilizará normalmente en
máquinas basadas en Windows que ejecutan aplicaciones de gestión. Por supuesto,
puede ser el único modo de acceder a algunas bases de datos de escritorio, como
MS Access, dBase y Paradox.
En este sentido, la ausencia de complejidad
en la instalación y el hecho de que nos permita acceder virtualmente a
cualquier base de datos, le convierte en una buena elección. Sin embargo, hay
muchas razones por las que se desecha su utilización.
Desventajas
Básicamente sólo se recomienda su uso
cuando se están realizando esfuerzos dirigidos a prototipos y en casos en los
que no exista otro driver basado en JDBC para esa tecnología. Si es posible,
debemos utilizar un driver JDBC en vez de un puente y un driver ODBC. Esto
elimina totalmente la configuración cliente necesaria en ODBC.
Los siguientes puntos resumen algunos de
los inconvenientes de utilizar el driver puente:
- Rendimiento:
Como puede imaginar por el número de capas y traducciones que tienen
lugar, utilizar el puente está lejos de ser la opción más eficaz en
términos de rendimiento.
- Utilizando
el puente JDBC-ODBC, el usuario está limitado por la funcionalidad del
driver elegido. Es más, dicha funcionalidad se limita a proporcionar
acceso a características comunes a todas las bases de datos. No pudiendo
hacer uso de las mejoras que cada fabricante introduce en sus productos,
especialmente en lo que afecta a rendimiento y escalabilidad.
- El
driver puente no funciona adecuadamente con applets. El driver ODBC y la
interfaz de conexión nativa deben estar ya instalados en la máquina
cliente. Por eso, cualquier ventaja de la utilización de applets en un
entorno de Intranet se pierde, debido a los problemas de despliegue que
conllevan las aplicaciones tradicionales.
- La
mayoría de los browser no tienen soporte nativo del puente. Como el puente
es un componente opcional del Java 2 SDK Standard Edition, no se ofrece
con el navegador. Incluso si fuese ofrecido, sólo los applets de confianza
(aquellos que permiten escribir en archivos) serán capaces de utilizar el
puente. Esto es necesario para preservar la seguridad de los applet. Para
terminar, incluso si el applet es de confianza, ODBC deve ser configurado
en cada máquina cliente.
Tipo 2: Driver API Nativo / parte Java
Los drivers de tipo 2, del que es un ejemplo el driver JDBC/OCI de Oracle, utilizan la interfaz de métodos nativos de Java para convertir las solicitudes de API JDBC en llamadas específicas a bases de datos para RDBMS como SQL Server, Informix, Oracle o Sybase, como se puede ver en la siguiente figura:
Aunque los drivers de tipo 2 habitualmente
ofrecen mejor rendimiento que el puente JDBC-ODBC, siguen teniendo los mismos
problemas de despliegue en los que la interfaz de conectividad nativa debe
estar ya instalada en la máquina cliente. El driver JDBC necesita una
biblioteca suministrada por el fabricante para traducir las funciones JDBC en
lenguaje de consulta específico para ese servidor. Estos drivers están
normalmente escritos en alguna combinación de Java y C/C++, ya que el driver
debe utilizar una capa de C para realizar llamadas a la biblioteca que está
escrita en C.
Ventajas
- El
driver de tipo 2 ofrece un rendimiento significativamente mayor que el
puente JDBC-ODBC, ya que las llamadas JDBC no se convierten en llamadas
ODBC, sino que son directamente nativas.
Desventajas
- La
biblioteca de la base de datos del fabricante necesita iniciarse en cada
máquina cliente. En consecuencia, los drivers de tipo 2 no se pueden
utilizar en Internet. Los drivers de tipo 2 muestran menor rendimiento que
los de tipo 3 y 4.
- Un
driver de tipo 2 también utiliza la interfaz nativa de Java, que no está
implementada de forma consistente entre los distintos fabricantes de JVM
por lo que habitualmente no es muy portable entre plataformas.
Tipo 3: Driver protocolo de red / todo Java
Los drivers JDBC de tipo 3 están
implementados en una aproximación de tres capas por lo que las solicitudes de
la base de datos JDBC están traducidas en un protocolo de red independiente de
la base de datos y dirigidas al servidor de capa intermedia. El servidor de la
capa intermedia recibe las solicitudes y las envía a la base de datos
utilizando para ello un driver JDBC del tipo 1 o del tipo 2 (lo que significa
que se trata de una arquitectura muy flexible).
La arquitectura en conjunto consiste en tres capas: la capa cliente JDBC y driver, la capa intermedia y la base o las bases de datos a las que se accede.
El driver JDBC se ejecuta en el cliente e
implementa la lógica necesaria para enviar a través de la red comandos SQL al
servidor JDBC, recibir las respuestas y manejar la conexión.
El componente servidor intermedio puede
implementarse como un componente nativo, o alternativamente escrito en Java.
Las implementaciones nativas conectan con la base de datos utilizando bien una
biblioteca cliente del fabricante o bien ODBC. El servidor tiene que
configurarse para la base o bases de datos a las que se va a acceder. Esto
puede implicar asignación de números de puerto, configuración de variables de
entorno, o de cualquier otro parámetro que pueda necesitar el servidor. Si el
servidor intermedio está escrito en Java, puede utilizar cualquier driver en
conformidad con JDBC para comunicarse con el servidor de bases de datos
mediante el protocolo propietario del fabricante. El servidor JDBC maneja
varias conexiones con la base de datos, así como excepciones y eventos de
estado que resultan de la ejecución de SQL. Además, organiza los datos para su
transmisión por la red a los clientes JDBC.
Ventajas
- El
driver protocolo de red/todo Java tiene un componente en el servidor
intermedio, por lo que no necesita ninguna biblioteca cliente del
fabricante para presentarse en las máquinas clientes.
- Los
drivers de tipo 3 son los que mejor funcionan en redes basadas en Internet
o Intranet, aplicaciones intensivas de datos, en las que un gran número de
operaciones concurrentes como consultas, búsquedas, etc., son previsibles
y escalables y su rendimiento es su principal factor. Hay muchas
oportunidades de optimizar la portabilidad, el rendimiento y la
escalabilidad.
- El
protocolo de red puede estar diseñado para hacer el driver JDBC cliente
muy pequeño y rápido de iniciar, lo que es perfecto para el despliegue de
aplicaciones de Internet.
- Además,
un driver tipo 3 normalmente ofrece soporte para características como
almacenamiento en memoria caché (conexiones, resultados de consultas,
etc.), equilibrio de carga, y administración avanzada de sistemas como el
registro.
- La
mayor parte de aplicaciones web de bases de datos basadas en 3 capas
implican seguridad, firewalls y proxis y los drivers del tipo 3 ofrecen
normalmente estas características.
Inconvenientes
- Los
drivers de tipo 3 requieren código específico de bases de datos para
realizarse en la capa intermedia.
- Además,
atravesar el conjunto de registros puede llevar mucho tiempo, ya que los
datos vienen a través del servidor de datos.
Tipo 4: Driver protocolo nativo/todo Java
Son drivers suministrados por él es la
mejor solución y fabricante de la base de datos y su está escrito totalmente en
java (100%) finalidad es convertir llamadas JDBC en un protocolo de red(usando
sockets) comprendido por la base de datos. Es el método más eficiente de acceso
a base de datos.
APLICACIONES
Las aplicaciones de ejemplo del
controlador JDBC de Microsoft para SQL Server muestran varias características
del controlador JDBC. Además, describen las prácticas recomendadas de
programación que puede aplicar al usar el controlador JDBC con base de datos de
SQL Server. Todas las aplicaciones de ejemplo se incluyen en archivos de código
*.java que se pueden compilar y ejecutar en el equipo local, y se encuentran en
varias subcarpetas de la siguiente ubicación:<directorio de instalación de>
sqljdbc_<versión><idioma> muestras. En los temas de esta sección se
describe cómo configurar y ejecutar las aplicaciones de ejemplo, y se incluye
una descripción de lo que demuestran
USO DE
JDBC EN APLICACIONES JAVA
Es un controlador de base de datos que
permite la conexión mediante programación a una base de datos. Debe utilizar la
conexión como un puente entre la aplicación y la base de datos real. Visual J#
incluye una implementación de JDBC sobre OBDC(puente JDBC-OBDC). Este puente
puede permitir a la aplicación conectarse con cualquier servidor de bases de
datos que tenga instalado el controlador OBDC en el equipo cliente con visual
J#. El primer paso establece un nombre de origen de datos (DSN) para
administrar las credenciales de contraseñas e identificar de usuario en la base
de datos de access denominada Northwind. El segundo paso utiliza el DSN y JDBC
OBDC Driver para conectarse a la base de datos y devolver datos. El código
denomina al controlador, Class.ForName(“Com.ms.jdbc.obdc.jdbcObdcDriver”), y
genera una cadena de conexión que denomina al DSN con las credenciales de
servidor y de autenticación, del siguiente modo:
Stringurl=”jdbc.obdc:vbuetools”; En el ultimo ejemplo se ejecuta la consulta.
Si se utiliza la instrucción while(rs.next()), el codigo recorre los conjuntos
de resultados y obtiene los datos. Una vez imprimidos los datos en consola, la
instrucción con.close() cierra el conjunto de registros así como la conexión
con la base de datos.
EJEMPLOS
- ü El siguiente código muestra el acceso a una base de datos y ejecución de consultas de selección y acción a una base de datos utilizando un driver JDBC Codigo:c:javaJDBC1Bd.java La recuperación de datos se realiza a la tabla ‘contactos’ de la base de datos ‘agenda’ conociendo previamente la estructura de la tabla ‘contactos’:id,nombre, ciud_id, email, teléfono
- Obtener el número de versión del driver JDBC.
import java.sql.*;
import oracle.jdbc.driver.*;
class driver_ver
{
public static void main (String args [])
throws SQLException
{
// Carga el driver JDBC Oracle
DriverManager.registerDriver
(new oracle.jdbc.driver.OracleDriver());
Connection conn =
DriverManager.getConnection("jdbc:oracle:thin:pc/pc@127.0.0.1:1521:pc");
// Crea objeto DatabaseMetaData de Oracle
DatabaseMetaData meta = conn.getMetaData
();
// Obtiene la info del driver:
System.out.println("La version del
driver JDBC es: " + meta.getDriverVersion());
}
}
2)
RESUMEN
JDBC
JDBC es un lenguaje de
muy alto nivel que permite crear, examinar, manipular y gestionar Bases de
Datos relacionales. Para que una aplicación pueda hacer operaciones en una Base
de Datos, ha de tener una conexión con ella, que se establece a través de un
driver, que convierte el lenguaje de alto nivel a sentencias de Base de Datos.
CAPA DE ACCESO DE DATOS
·
CAPA DE CLIENTE.- está formada por la
lógica de la aplicación a la que el usuario final accede directamente mediante
una interfaz de usuario.
·
CAPA DE PRESENTACIÓN.- es la que está formada
por la lógica de la aplicación, que prepara datos para su envío a la capa de
cliente y procesa solicitudes desde la capa de cliente para su envío a la capa
de cliente a la lógica de negocios del servidor.
·
CAPA DE ACCESO DE
NEGOCIO.- es la que consiste en la lógica que realiza las funciones principales de la
aplicación: procesamiento de datos, implementación de funciones de negocios,
coordinación de varios usuarios y administración de recursos externos como por
ejemplo, base de datos o sistemas heredados.
·
CAPA DE DATOS.- es la que está formada por los servicios que
proporcionan los datos persistentes utilizados por la lógica de negocios.
TIPOS DE JDBC
Los driver JDBC se
clasifican en cuatro tipos o niveles:
Tipo 1: Driver puente JDBC-ODBC
El puente JDBC-ODBC es
un driver JDBC del tipo 1 que traduce operaciones JDBC en llamadas a la API
ODBC
Tipo 2: Driver API Nativo / parte Java
Los drivers de tipo 2,
del que es un ejemplo el driver JDBC/OCI de Oracle, utilizan la interfaz de
métodos nativos de Java para convertir las solicitudes de API JDBC en llamadas
específicas a bases de datos para RDBMS como SQL Server, Informix, Oracle o
Sybase, como se puede ver en la siguiente figura:
Tipo 3: Driver protocolo de red / todo Java
Los drivers JDBC de tipo
3 están implementados en una aproximación de tres capas por lo que las
solicitudes de la base de datos JDBC están traducidas en un protocolo de red
independiente de la base de datos y dirigidas al servidor de capa intermedia.
Tipo 4: Driver protocolo nativo/todo Java
Es el método más
eficiente de acceso a base de datos.
USO DE JDBC EN APLICACIONES JAVA
Es un controlador de
base de datos que permite la conexión mediante programación a una base de
datos. Debe utilizar la conexión como un puente entre la aplicación y la base
de datos real.
APLICACIONES
Las aplicaciones de
ejemplo del controlador JDBC de Microsoft para SQL Server muestran varias
características del controlador JDBC. Además, describen las prácticas
recomendadas de programación que puede aplicar al usar el controlador JDBC con
base de datos de SQL Server.
3)
SUMMARY
JDBC
JDBC is a very high-level language to create, examine, manipulate and manage
relational databases. For an application to perform operations in a database, you
must have a connection to it, which is established through a driver that converts
high-level language statements database.
DATA ACCESS LAYER
• LAYER Customer.- is formed by the application logic to which the end user
accesses directly using a user interface.
• LAYER is Presentation.- which is formed by the application logic that prepares
data for delivery to the client tier and processes requests from the client tier for
delivery to the client layer to the business logic server.
• BUSINESS ACCESS LAYER.- is consisting of the logic that performs the main
functions of the application: processing data, implementing business functions,
coordination of multiple users and managing external resources such as database
or legacy systems.
• LAYER is data.- which consists of services that provide persistent data used by
business logic.
TYPES JDBC
The JDBC driver are classified into four types or levels:
Type 1: JDBC-ODBC Bridge Driver
The JDBC-ODBC Bridge is a JDBC driver that translates Type 1 JDBC operations
on the ODBC API calls
Type 2: Native Driver API / Java part
The drivers of type 2, which is an example JDBC / OCI Oracle driver, use the interface
native Java methods to convert applications JDBC API specific calls to databases
RDBMS such as SQL Server, Informix, Oracle or Sybase, as you can see in the figure
below:
Type 3: Driver network protocol / all Java
The type 3 JDBC drivers are implemented in a three-tier approach so that requests
for the JDBC database are translated in a protocol independent network database
server and addressed to the intermediate layer.
Type 4: Driver native protocol / all Java
It is the most efficient method of accessing database.
JDBC USING JAVA APPLICATIONS
It is a database driver that allows connection programmatically to a database. You
must use the connection as a bridge between the application and the actual database.
APPLICATIONS
The sample applications Microsoft JDBC Driver for SQL Server show various features
of the JDBC driver. In addition, they describe the recommended programming practices
that may apply when using the JDBC driver database with SQL Server.
4) RECOMENDACIONES
El diseño y desarrollo
de las nuevas aplicaciones conduce a la minimización del ingreso de datos por
parte del usuario; además el lenguaje de desarrollo que se utiliza está
orientado a facilitar la ejecución en cualquier Sistema Operativo, ya que se
ajusta a los estándares reconocidos, que permite la flexibilidad de los
cambios.
Para que exista un
enlace remoto con la Base de Datos, la aplicación no debe de conectarse
directamente a la Base de Datos, sino que mediante los drivers JDBC - ODBC.
5)
CONCLUSIONES
JDBC se puede utilizar para conectarse a bases de datos relacionales de los
programas de Java
JBDC puede crear una dependencia sin querer a un proveedor de base de datos
específica
Los drivers JDBC y ODBC establecen la
estructura para el diseño y generación de conexiones y accesos a Base de Datos
remotas; por lo que facilita el desarrollo de nuevas aplicaciones que la
Universidad desee implementar en un futuro, orientados con este fin.
6)
APRECIACIÓN DEL EQUIPO
El JDBC es una aplicación
no al 100% Java de manera que ademas puede establecer y mantener consultas a una fuente de datos y
procesa los resultados para que así nos dé más facilidad de manejar grandes
cantidades de datos en entidades grandes sin problemas de tiempo.
7)
GLOSARIO
- Northwind: es una conocida base de datos de ejemplo de Microsoft que se utiliza en multitud de libros, cursos y artículos para ilustrar todo tipo de conceptos de acceso a datos. Esta base de datos simula la información acumulada del día a día en una empresa ficticia llamada Northwind Traders.
- Driver: Controlador, rutina o programa que enlaza un dispositivo periférico al sistema operativo.
- Applet: Un componente que se ejecuta generalmente en un Web browser, pero puede ser ejecutado en una variedad de otras aplicaciones o dispositivos que soporten el modelo de programación del applet.
8)
LINKOGRAFÍA





